Transcription
感受 追逐 知道 停止 而我 不會 讓它 [音乐] 走 讓它 像 飛起來 我們都是 真正的 信徒 我們在看著 世界 我能看到 地平線上 我們所有的 [音乐] 感覺到 你 真正的 信徒 看著 世界 我能看到 地平線上 我們所有的 [音乐] 我們可以 女士們 先生們 開幕式主題演講 將在 15 分鐘後 在宴會廳 開始 請前往宴會廳 找到你們的座位 謝謝 [音乐] [音乐] [音乐] 再深吸一口氣 在你身邊 [音乐] 我就能找到 分離我們的力量 給它 我們得到了 它 我知道我們 盡力了 如果我能回到過去 重新做這個爛攤子 我會在離開前 記住你的臉 但這就是我們前進的方式 有時候必須放手 有時候知道 何時要放下你的驕傲 沒有人可以責怪 沒有什麼真的會保持不變 這就是我們成長的方式 有時候我們緊抓不放 讓它 [音乐] 走 我們緊抓不放 讓它走 我們之間沒有失去任何東西 [音乐] 而我知道你有你的理由 有些日子我一團糟 但我知道 在過去的一切之上 你的頭靠在我的肩膀上 但我知道我們更好 哦 但這就是我們前進的方式 有時候必須放手 有時候知道 何時要放下你的驕傲 沒有人可以責怪 沒有什麼真的會保持不變 這就是我們成長的方式 女士們 先生們 開幕式主題演講 將在 10 分鐘後 在宴會廳 開始 請前往宴會廳 找到你們的座位 [音乐] [音乐] 在這裡 [音乐] [音乐] 你 你會嗎 它會嗎 你會得到它嗎 你會得到它嗎 [音乐] 你 你 [音乐] 你 你 [音乐] 你 你 你 你 你什麼 你什麼 你會嗎 你會嗎 [音乐] [音乐] [音乐] 你 [音乐] 我 [音乐] 你 你 你 你 你 你 [音乐] 你 你 你什麼 你 [音乐] [音乐] 我們有一個失眠症患者 眼睛睜得大大的 我們擁有一切所需 然後還有一點點太多 我知道你渴望一些 你無法觸及的東西 但你現在對我誠實點 有些東西在空氣中 我能感覺到它正在升起 你不想感覺到它 佔據你的感官 你從未感覺到過 它 技術的臉 寶貝 跟我一起逃跑 我會把你從腳下掃起來 你不想感覺到它嗎 你不想嗎 你不覺得我身體裡有什麼東西 在拖累我嗎 這只是 [音乐] 女士們 先生們 開幕式主題演講 將在 5 分鐘後 在宴會廳 開始 請前往宴會廳 找到你們的座位 謝謝 [音乐] 頂部 我準備好了 深吸一口氣 我準備好了 [音乐] 我捕捉到 我準備好了 [音乐] 我們是一個 感覺到 你無視 你曾經停下來感覺到它嗎 陷入餘輝 我會回到你家門口 你知道 [音乐] [掌聲] 你所有我想要的 你知道我們擁有一切 屏住呼吸 我準備好了 我準備好了 我找到了我想要的 並緊緊抓住並 深吸一口氣 我準備好了 [音乐] 我們再次點燃天空 和我們的剪影 在完美的石頭上跳舞 在人行道上 當我最不期望的時候 我再次看到那些眼睛 說你是我想要的一切 我們知道我們擁有一切 屏住呼吸 我準備好了 我正墜入其中 我準備好了 我找到了我想要的 並知道我們在頂端 所以 我準備好了 深吸一口氣 並準備好 [音乐] 我捕捉到 我準備好了 屏住呼吸 準備好了 就在這裡 我準備好了 並深吸一口氣 女士們 先生們 開幕式主題演講 現在開始 請找到你們的座位 [音乐] [音乐] [音乐] [音乐] 停止 [音乐] [音乐] [音乐] [音乐] [音乐] 哦 [音乐] [音乐] [音乐] [音乐] [音乐] w [音乐] 發射控制 我們已準備好 發射 收到 [音乐] [掌聲] [音乐] 女士們 先生們 請歡迎來到舞台 AI 工程師峰會的聯合創始人 3.0 有限責任公司的管理合夥人 以及你們的主持人 Benjamin [音乐] dunfey 工程師 創始人 朋友 贊助商 哇 現在我有我的幻燈片 工程師 創始人 贊助商 合作夥伴 同事和朋友 歡迎來到 2023 年 AI 工程師峰會 我是 是的 是的 我非常榮幸能有機會 在這裡主持這次活動 與我的聯合主持人 Swix 我特別高興能拉開峰會的演講部分 我們為你們精心策劃了兩天的舞台內容 來自這個新興的 AI 工程行業的一些頂尖創始人和工程師 幾分鐘後 Swix 將上台 幫助大家了解這些演講的背景 但在我上台的時間裡 我真的很想知道誰在這裡 所以 Auto GPT 在這裡 幾個月前 它們只是一個開源項目 請注意 這是歷史上增長最快的開源項目 但現在只是一個開源項目 它們是 AI 工程師峰會的總贊助商 所以可以說 我們可以期待一些重大的公告 當 Torin 幾分鐘後上台時 讓我們看看還有誰在這裡 Super base Super base 在這裡 社交媒體專家 讓產品發布變得有趣 並讓數據庫 既簡單又值得信賴 鑑於它們是開源的 它們是今年的鑽石贊助商 我們很榮幸它們打破了不贊助活動的政策 以便參加這次活動 所以 Paul a 讓我知道那個政策變化對你來說怎麼樣 Fixie 在這裡 Fixie 在哪裡 我期待著問他們的展位助手 它們是否能看到我穿的衣服 以及它們是否能推薦任何我的衣櫃更新 我們稱這個助手為 Derek 如果視覺化還不行 Matt 和 Ben 我可以介紹 Logan Kilpatrick 並且也許我們可以預覽一下那個視覺化 API 微軟在這裡 這家公司通過向 OpenAI 投入 130 億美元幫助推動了這一運動 很多人可能會想 嘿 我如何為我的初創公司獲得一些好處呢 前往電梯後面那個卡梅爾房間的展位 與他們聊聊 他們有來自 Microsoft for Startups 的代表 他們可以幫助您打開這些門 如果您對 Copilot 團隊有任何疑問 那微軟的展位就在 GitHub 旁邊 哦 還有遲來的生日快樂 Cloud Flair 誰在這裡 掌聲 它們現在 13 歲了 這意味著您將經歷一些變化 但別擔心 在展位上有很多樂意與您談論這些變化的人 就在卡梅爾的微軟旁邊 電梯對面 Alesio Finelli 在這裡 VC 的一半是 Laten Spate 播客 但技術上並不比 Swix 差 也許在觀看今天的演講後 我們可以說服他更容易地回到創始人世界 但這次 Alesio 讓我們輕鬆開始吧 讓硬件留給專家 有些人明白了這個笑話 還有誰在這裡 當然是你們 你是 500 名被選中參加首屆 AI 工程師峰會的人之一 所以請為自己鼓掌 這意味著您不僅是一位經驗豐富的軟件工程師 而且您還在積極嘗試將其投入生產 或創立了增強型 AI 或原生 AI 應用和公司 所以我想讓您在互動時記住這一點 但我們也想認識到 許多今天不在這裡 但正在觀看直播的人 我們感謝您 並欣賞您 希望您享受直播內容 並務必觀看明天的開幕式主題演講 以獲得關於 2024 年的一些激動人心的公告 這將擴大我們的參與限制 但對於在場的各位 我們希望您們到目前為止 已經享受了與其他與會者的交流 我真的很喜歡會議的原因之一是 它匯集了來自世界各地熱衷於單一 المحدد 主題的專家 所以您的大部分對話都已經是高信號 但有沒有辦法真正改善這一點 許多人下載了我們的會議移動應用程序 Network 並享受它的使用 它包括會議日程 所有展覽合作夥伴的完整列表 會場附近推薦的餐廳 酒吧和咖啡館 以及其他活動信息 但除了這些功能之外 我們很高興地宣布 AI 增強匹配 使用我們的生成匹配算法 這是一種花哨的說法 我們使用 LLM 將您與合適的人匹配 我們可以將您與幫助解決您聲明問題的人匹配 我們都有需要解決的問題 這就是為什麼在您的 Network 個人資料中 您可以告訴我們您想解決什麼問題 我們的 GMA 將會把您與合適的人聯繫起來 我們稱這個應用程序為 Network 您可以今天在 ai.engineer/network 下載該應用程序 該匹配目前僅限於本次峰會的線下與會者 但我們還有一個重大的公告 我們很高興地宣布 我們將 Network 開源 無論是活動應用程序還是匹配算法 我們的目標是為世界各地任何活動的與會者提供一個簡單而強大的移動活動體驗 我們希望匹配算法能夠更好地幫助連接活動中的人們 我們要感謝我們的首席工程師 Simon Sterner 的移動應用程序 和 Swet Teller 的 ID 生成匹配算法 以及我們的基礎設施合作夥伴 Descope 提供身份驗證 和 Superbase 提供數據庫和 PG Vector 所以去和他們談談 PG Vector 在外面 所以為我們所有的開發者鼓掌 [音乐] 這個應用程序的合作夥伴 所以您今天可以在 ai.engineer/network 或 github.com/ai-engineer-network 訪問存儲庫 說到這裡 我很樂意歡迎我們的第一位演講者來到舞台 他是 Laten Space 播客的聯合主持人 和本次峰會的聯合創始人 請加入我並歡迎來到舞台 [掌聲] [音乐] Swix 大家好 大家好 這是有效的嗎 不行 好的 聽起來像是有效的 好的 好的 為 Ben 鼓掌 這個會議沒有他就不會發生 [掌聲] 好的 好的 幾點後勤事項 一 我帶著一個魔法觸控板 因為每個人都有遙控器 如果我們有多個維度呢 所以我們今天將對此進行實驗 二 我還在使用像 AI 這樣的時髦新東西 對吧 所以這是為了 並且我們也將對我們的幻燈片進行二維處理 所以我來這裡是為了談論 AI 工程師 你們都來這裡是因為你們相信這個想法 有一些價值 然後我只是把它放大了 1000 倍 但我確實認為有意義地思考更高的數量級 提高你們的雄心壯志 這就是我希望你們今天所做的 以及與你們在家裡的朋友一起做的 所以 當然還有很多 AI 生成的藝術 因為這是一個 AI 會議 我們必須這樣做 我們必須這樣做 首先 我要祝賀你們來到這裡 我不是指地理位置上的身體上的 我指的是這裡 在這個時間點 想像一下如果你是一名數學家 什麼時候是出生的最佳時機 我建議 大約公元 600 年 這個叫做 Brahma Gupta 的人 他發明了零 一個非常非常新穎的發明 我們花了 4000 年才做到這一點 但總有一些時候 如果你在那個領域 你必須在那裡 那就是關鍵 如果你在那個時代活著 你必須做那件事 物理學 什麼時候是出生的最佳時機 有正確的答案 1905 年 1927 年 而這次會議有點靈感來自 Salv 會議 那是 Albert Einstein Mar Curie 和你們在開幕電影中看到的大部分人 同樣的 如果你製造汽車 有正確的時間 1900 年到 1930 年 如果你製造個人計算機產品 1980 年到 20110 年 如果你 ever get this 如果你有千禧一代 如果你非常活躍於網絡 你 ever get these memes 你出生太晚而無法探索地球 你出生太早而無法探索星星 你沒有來晚 我們在這裡 這基於人口統計學和歷史 人類所有時間線的近似時間表 我們知道 如果我們不擴展我們自己的智能或去其他行星 我們大約是所有同時存在的智能的 73% 所以我的論點和我的信息是你們來的正是時候 時機正確 可以達到 1000 倍 我認為我的技術和工業組織思維很大程度上受到 Kada Perez 的影響 她是技術革命最有影響力的思想家之一 她寫了一本關於技術週期的隔離和部署期的書 我們今天肯定正在經歷其中 很多人都在想 我知道你們在這裡 但我也在想 家裡的人 這些有多少是炒作 有多少又是 Web 3 我們已經一次又一次地看到這一點 偉大的歷史學家 比我們更偉大的人 已經探索過這一點 在工業革命 鐵路時代 重工業和鋼鐵石油時代 以及最近的技術革命 有趣的是 我最近放了一個 我放了一個 他們都大致跨越 50 到 70 年 如果你在那個時候 在那個領域 就是你要追求的領域 那麼 AI 革命是什麼時候開始的呢 我們很幸運 歷史上很難確定一個改變人類文明的起點 我們有一個時刻 2012 年 Alex 我們大約 10 年了 我們可以給它數字化 對吧 大部分時間這些曲線都是理論上的 它們只是像 y 軸一樣 在這裡 我們實際上可以計算我們用於訓練模型的計算量 有一個巨大的拐點 那是 Alex 在那裡的藍點 那是一個巨大的拐點 我們逐漸意識到 雖然花了太長時間才意識到 但規模開始奏效 如果你真的把它擴大 我很多人都在這樣做 我希望你們認真對待規模 有三個原因 六是個幸運數字 有一位著名的投資者 我不便透露姓名 他說想像一下到年底 大約有六個數量級的更多計算機 並為此做好計劃 所以還有更多這樣的東西會出現 線性投影 你可以計劃對語言模型進行更多投資 John Carac 說有六個關鍵見解 通往 AGI 的道路 最後 George Hotz 有這些非常好的類比 GPT3 花費了大約一年的人力計算 GPT4 花費了大約 100 年的人力計算 如果你把它擴展到 GPT 10 GPT4 和 GPT1 之間的差異 再次在 GPT 進步的六倍增量中 這將比有史以來所有人的計算量都多 所以你恰好在正確的時刻 你將能夠生活在這些巨大的趨勢之上 這比我們任何一個人都要偉大 我認為你們都在思考 AI 工程師 我把它放在一個非常非常小的局部上下文中 嘿 組織結構圖是什麼 以及 ML 工程師 SE 坐在哪裡 ML 研究人員坐在哪裡 軟件工程師坐在哪裡 正在出現的差距是什麼 是 CI 工程師 這是一個非常供需的問題 大約有 10 萬名持證的數據科學機器學習工程師 GitHub 聲稱有 1 億註冊開發者 我不知道真實數字是多少 你可以爭論 40 到 50 百萬到 1 億 這是數量級的差異 所以我們認為會有更多的 AI 工程師 比 ML 工程師 有所有這些原因 與博客文章中提到的相同原因 以及為什麼是工程而不是僅僅是提示 因為 LMS 本身還不是 AGI 對吧 我們實際上必須在軟件系統中協調它們 我們必須圍繞它們編寫代碼 並用代碼編排它們 以做一些有用的事情 我們已經知道如何編寫代碼了 我想把它擴展一點 我認為關於 AI 工程師的對話 有點模糊的差異 我想把它分成三個領域 AI 工程師 由 AI 工具增強的軟件工程師 例如 Copilot 構建 AI 產品的軟件工程師 例如 Mid Journey AI 產品 可能會取代人類工程師 例如 Auto GPT 和 Ghost Rider 那麼讓我們給這些傢伙起個名字 以防萬一你好奇 增強型 vs 取代型 我認為這與自動駕駛汽車的術語非常相似 級別二 級別三 是否有人類在循環中 還是人類作為備用 讓我們命名 三種主要的 AI 工程師 AI 增強工程師 為被 AI 增強的人 構建 AI 產品的工程師 然後是 AI 工程師代理 不是人類的 那自然 如果你對職業階梯的晉升感興趣 有 AI 增強工程師 然後是產品工程師 然後是工程師代理 這個演講實際上受到了 Amjad 的啟發 他將在接下來發表演講 他最近在 HC 播客上發表了演講 Sam Altman 實際上每天都能在 OpenAI 中看到 1000 倍的工程師 這實際上是一系列可疊加的 10 倍 10 倍 10 倍的改進 在接下來的兩天裡 我認為你們會看到很多演講者 在這個堆棧的不同部分工作 所以我強烈鼓勵你們思考 在你們的生活中 這個 AI 運動 可以提高和增加你們的生產力 我非常非常榮幸能夠從世界各地 匯聚 AI 工程運動的領軍人物 我們今天是一個非常小的房間 我確實認為我們可以達到 100 倍 1000 倍 這不僅僅是關於工具和演講者 也關於你們 所以我強烈鼓勵你們參與 我們為你們提供的所有機會 與彼此 與演講者 以及與贊助商交流 所以最後一句話 我想提供給你們 有效地我認為從非技術術語來看 1000 倍工程師可以提供什麼 我最喜歡的關於 10 倍工程師的建議是 一位工程師教導另外十個人 他們所知道的 這不是一個技術術語 但它非常有用 而且網絡有所有這些規模定律 我一直牢記在心 所以你可以從 O(n) 到 O(n^2) 到 O(2^n) 但實際上 O(n) 是你參加所有講座 並學習 消耗所有內容 並讓別人進入 你的 Pac-Man 規則 O(n^2) 是幫助他人學習 我寫的第一篇博客文章 正是在這樣的會議上 我被鼓勵寫一些東西 當然是關於機器學習 然後回家 然後建立你自己的 AI 工程師網絡 並幫助發展學習網絡 我希望你們在 AI 工程師的旅程中 帶著這些東西 我希望在接下來的幾天裡 你們能感受到 處於行業開端的感覺 我很高興能和你們在一起 非常感謝 好的 很高興來到這裡 我同意 Swix 和 Ben 的觀點 這感覺就像一個時刻 這感覺就像一個歷史性的時刻 我的名字是 Amjad 我是 Repet 的聯合創始人 我們的目標是成為從想法到可擴展的已部署軟件的最快途徑 所以我將帶你們回顧一下 不像 Swix 回到公元 600 年 但也許回到計算機的開端 如果我的遙控器工作的話 它不起作用 所以下一張幻燈片 我們將在獲得良好的演示軟件之前獲得 AGI 好了 好了 所以 非常早期的計算機 ENIAC 是第一個 你是完全 可編程 的真空管和機器計算機 你編程它的方式就像你真的打孔卡 不是物理上的 但你有一台機器 類似於打孔卡 這是機器解釋的二進制代碼 非常困難 真的沒有軟件行業 因為這真的很難 它自動化了一些當時人類計算機執行的任務 但它並沒有創造軟件行業 但然後我們從打孔卡轉向文本 然後我們有了第一個彙編器 然後我們有了編譯器和高級語言 例如 C 然後有人發明了 JavaScript 從那以後一切都變得一團糟 但文本編輯器 或基於文本的編程 至少是 10 倍的改進 如果不是 100 倍的改進 在編程方面 所以我們之前經歷過編程的數量級改進的時刻 然後你知道 IDE 成為了一件事 因為你知道我們有大規模軟件 這是 2017 年或 2018 年的截圖 當我們將 LSP 添加到 Repet 的每個編程環境中時 所以任何擁有帳戶的人都可以獲得智能 我們對此感到非常自豪 那時我們燃燒了很多 CPU 來進行推理 你知道 如果你運行 TypeScript 服務器 那需要很多內存 但我們很自豪 我們為世界上的每個人提供了創建專業級軟件的工具 大約三四年前 我們開始思考 AI 如何改變軟件 實際上比那早得多 但有了 GPT2 你可以給它一些代碼 並完成一部分 你會想 好的 這個東西真的發生了 我們最好參與其中 所以我們開始構建 並構建了一個名為 Ghost Rider 的產品 它可以在 IDE 中進行自動補全聊天 等等 在短短兩年中 يعني 產業的進步速度 工具基本上 AI 被部署了 很多工程師都在使用它 AI 增強工程師 如 Swix 所說 大家都使用這些工具 所以我們現在有一個世界 很多人獲得了巨大的生產力提升 我認為我們還沒有達到數量級的提升 我們可能對某些人來說是 50% 到 80% 甚至 100% 的提升 但我們仍處於這個階段的開端 我們認為這將在未來十年內達到 10 倍 100 倍 甚至 1000 倍 然而 Repet 的使命一直是關於訪問 我們的使命是賦予下一個十億開發者能力 所以我們真的不想創造一個世界 有些人可以訪問 Ghost Rider 而其他人則不能 我們開始思考 如果你真的認真對待 AI 工程師會議所說的一切 我們正處於一個軟件正在改變的時刻 AI 將成為軟件堆棧的一部分 那麼你必須真正退後一步 試圖重新思考編程如何改變 所以我們的觀點是 編程插件 例如 Copilot 和 Coding Ghost Rider 以及我們給它們起的可愛名字 我們認為這不是前進的方向 我們認為 AI 需要真正融入你每一次編程互動中 並且需要成為 Repet 默認體驗的一部分 我相信未來其他產品也是如此 這就是為什麼我們今天宣布 我們將為我們數百萬在 Repet 上編程的用戶提供 AI 所以我們認為這將是世界上最大的 AI 增強編碼部署 我們將燃燒與 CPU 一樣多的 GPU 所以為我們祈禱 我們有來自世界各地的人們 在各種設備上編程 我們有在 Android 手機上編程的人 他們都將獲得 AI 所以他們都將成為 AI 增強工程師 但你知道 如 T 所展示的 不僅僅是 AI 增強工程師 還有產品 AI 作為軟件創建堆棧的一部分是有意義的 但 AI 作為調用堆棧的一部分也是許多價值創造的地方 所以 所以這就是為什麼我們還有一個新產品叫做 Model Farm Model Farm 基本上讓你可以在 IDE 中訪問模型 所以只需要三行代碼就可以開始進行推理 我們與 Google Cloud 的 LLM 一起推出 但我們很快就會添加 Llama 我們將添加 Stable Diffusion 如果你是 LLM 提供商 並想與我們合作 在我們的平台上提供 請與我們聯繫 但基本上 每個人都將獲得 一些免費套餐 所以你可以開始進行推理並開始構建基於 AI 的產品 接下來 我將請我的同事 AIET 負責人 Mel Kasta 上台 談談我們如何在 Repet 上訓練我們自己的 AI 模型 我們還有一個公告要告訴你們 [音乐] [掌聲] [音乐] 你需要那個點擊器 好的 謝謝 大家好 所以今天我將談論我們如何在 Repet 上訓練用於代碼的 LLM 我將解釋為什麼這個標題很奇怪 如果你在 Twitter 上待了一個月以上 你可能讀過 SemiAnalysis 的這項研究 他們的觀點是 研究小型模型 在有限的 GPU 上訓練是沒有意義的 這對我們來說是個震驚 因為我們在五月份有一個非常成功的案例 我們從頭開始訓練我們的模型 然後 Hamjad 和我以及團隊開始思考 我們真的在浪費時間嗎 我將試圖說服你們 事實並非如此 我們的代碼補全功能 或 RIT 由我們自己專門的大型語言模型 提供支持 我們訓練開源代碼 在 GitHub 上發布 以及由 Repet 用戶開發的代碼 這是一個非常低延遲的功能 所以我們試圖找到與其他插件相比的差異 我們試圖將 P95 延遲保持在 250 毫秒以下 這樣開發者體驗幾乎是瞬時的 你甚至不需要考慮它 代碼將為你補全 在我們使用的模型大小上 在過去幾個月裡我們一直是行業領先的 讓我們舉手 誰在五月份聽說過我們的 V1 模型 好的 感覺不錯 一秒鐘 我感覺像個 AI 之星 說笑話 我們在五月份發布了 Repet Code V13B 我們獲得了很多採用 很多喜愛 和很多貢獻 這也是我們決定回饋的主要原因之一 Repet 的歷史建立在巨人的肩膀上 建立在所有為開源空間做出貢獻的人的基礎上 所以我們認為我們應該做同樣的事情 我們應該回饋我們的模型 今天我將宣布 Repet Code V1.5 3B 所以這是我們五月份發布的模型 的演進 讓我們詳細了解一下 如 Amjad 所說 接下來的 10 分鐘 我們將進行技術深度剖析 我將告訴你們我們是如何構建它的 以及它為什麼如此強大 首先 我們遵循的配方與上次略有不同 如果你還記得的話 在五月份 我們是 Llama 風格的代碼模型 這意味著我們遵循了 Meta 開創的許多最佳配方 現在我們更進一步 我們訓練了每參數高達 300 個 token 如果你一直關注 LLM 的歷史 即使是兩年前 大部分模型都訓練不足 請原諒我 這個詞 這不是完全正確的 但事實是 在 2022 年中期 DeepMind 的 Chinchilla 論文出來了 這對整個領域來說有點警示 這篇論文基本上告訴我們 我們訓練的模型不足 我們應該給它們更多高質量的數據 相對地 我們可以訓練更小的模型 所以在某種意義上 我們正在攤銷訓練時間 以換取推理時間 花費更多計算來訓練一個更小但更強大的模型 然後在推理時 延遲會更低 這就是我們今天整個主題演講中將要傳達的關鍵見解 與 V1 不同的是 這一次我們還將高質量數據的量加倍 我們訓練了高達 1 萬億個 token 的代碼 數據混合大約是 2000 億個 token 在五個 epoch 加上最後的線性衰減 這讓我們能夠擠出模型最好的性能 Repet Code V1.5 這一次支持 30 種編程語言 我們還添加了一個來自 Stock Exchange 帖子 的混合體 這些帖子面向開發者 關於編程的問題 關於軟件工程的問題 等等 所以這是我們數據的基礎 現在讓我們來看看我們使用的數據集 我們從 Stack 開始 這是 Big Code 的一項倡議 Big Code 是 Hugging Face 傘下的一個團隊 我們非常感謝這些人的工作 他們建立了一個大型管道 從 GitHub 獲取數據 選擇頂級存儲庫 清理部分數據 然後特別只保留許可證為 MIT BSD Apache 2 等的代碼 在這個混合體中 我們選擇了 30 種頂級語言 然後真正的關鍵秘密成分是我們在數據上花費了多少時間 你一定一次又一次地聽到這個 每次你去參加 LLM 的演講時 都會有人說 你應該關注數據質量 我在這裡再次告訴你同樣的事情 這可能是你最應該花時間的事情 尤其是因為我今天談論的模型是從頭開始訓練的 所以這不是微調 我們發布的所有模型都是從第一個 token 開始由我們準備的 所以擁有高數據質量極其重要 我們從 Codex 的初始質量管道中汲取靈感 從 Pound 論文中汲取靈感 然後我們應用了更多技巧 我們過濾掉自動生成的 最小化的 不可解析的代碼 基本上所有你不想讓你的模型推薦回來的代碼 因為它不是你自己會寫的東西 我們還刪除了有毒內容 所有這些管道都建立在 Spark 上 所以我鼓勵你們也考慮研究你們自己的模型 因為幾乎所有基礎組件都可以在開源中獲得 所以你真的可以建立一個完整的管道 來訓練和服務一個 LLM 有很多開源組件 而且正如 Wix 所說的 你已經看到了過去九個月的快速發展 如果你想在 2022 年做這件事 祝你好運 這感覺就像我們比去年提前了十年 所以這很令人驚訝 我自己也沒想到速度會這麼快 另一個我們為 V1 模型開創的見解 結果也對這個新模型非常強大 所以當我們發布 V1 時 幾週後 巧合的是 一篇非常有趣的論文被發表了 叫做 Scaling Data Constrained Language Models 我強烈推薦它 這是一篇很棒的讀物 在我認為是 LLM 中最有趣的結果之一 這個直覺讓我們能夠完成模型的訓練 而不是在數據質量上做出權衡 它讓我們能夠選擇一個小的高質量數據子集 然後重複幾次 這篇論文的關鍵發現基本上在這兩張圖中 我將分享幻燈片 所以你可以去查看鏈接 想法是 你的損失曲線 在重複數據四五次後 將與訓練新數據集相當 好的 現在這不僅非常有用 因為它只允許處理高質量數據 它還允許我們處理僅在許可證下發布的數據 因此 再次為我們的 1.5 模型 我們將開源發布 它將以商業許可證發布 所以你可以使用它 好了 發送電子郵件給我們吧 當你使用它時 因為我非常好奇 你們是否玩得開心 關於訓練的細節 我們在這裡和那裡做了一些改動 模型稍微大一點 它是 3.3B 它是 4K 上下文 老的只有 2K 我們訓練了一個新的領域特定詞彙 32K 所以一個小的 它有助於我們實現更高的數據壓縮 如果你再次閱讀 LLM 你知道從簡化的角度來看 它們是數據壓縮器 有損數據壓縮器 所以如果你的詞彙量允許你用更少的 token 包裝更多數據 那麼你在訓練時基本上就帶來了更多信號 而使用這個新詞彙 我們正在擠壓 額外的幾個百分點 它比 StarCoder 或 CodeLlama 使用的詞彙更適合代碼 我們訓練了 128 個 H180 GB GPU 這在目前來說就像黃金一樣稀有 我們在一周內使用了 Mosaic 平台 據我們所知 這是第一個正式宣布在 H100 上訓練並開源發布的模型 所以我們對此感到非常興奮 我們遵循了一系列 LLM 的最佳實踐 所以當然我們支持 Flash Attention 我們有 Group Query Attention 這使我們能夠實現更好的推理性能 Alibi 位置嵌入 最新的優化器 在遊戲中 這就是為什麼最終你會看到令人興奮的數字 我不想馬上劇透 所以讓我們從基礎模型開始 然後還有驚喜 這是在 HumanEval 上的評估圖表 對於那些從未聽說過它的人來說 HumanEval 是 2021 年的基準列表 格式如下 你有一個英語任務的自然語言描述 然後期望模型生成一個自包含的 Python 代碼片段 然後將使用測試框架進行測試 你生成代碼 然後執行它 並查看輸出中的值 是否與你預期的完全一致 現在過去幾個月該領域的一個有趣演變是 我們不僅僅滿足於僅在 Python 上進行基準測試 所以我們也在多種不同的編程語言上進行測試 這來自於 Big Code 構建的多語言代碼評估框架 他們還維護一個非常有趣的排行榜 所以他們會對來自多家公司和開源貢獻者的模型進行評估 他們自己運行評估 然後編譯這個非常有趣的排行榜 所以我想你幾天後會在那裡找到我們 從左列開始 我們有 StarCoder Tri 截至昨天 它是 3B 參數大小的跨語言最先進模型 而今天我們的 V1.5 在你看到的每種語言上都達到了最佳 但讓我興奮的不是我們比幾個月前發布的 StarCoder 更強大 讓我興奮的是 我們非常非常接近 CodeLlama 7B 提醒一下 CodeLlama 7B 是 Meta 的 Llama 模型 7B 版本 它在 2 萬億個 token 的自然語言上進行了訓練 然後它還有額外的 5000 億個 token 的代碼預訓練階段 所以這是一個兩倍大的模型 2.5 倍的數據 更多的 GPU 計算 所以你知道我的意思 我們非常接近 如何超越 CodeLlama 這是個技巧 這是我們同時訓練的另一個模型 這是微調版本 這意味著我們進一步預訓練了 2000 億個 token 的代碼 這次來自我們自己的開發者 所以在 Repet 上 當你創建一個公共存儲庫時 它會自動以 IM 許可證發布 所以我們使用這些代碼來進一步預訓練我們的模型 我們再次提取了 300 億個 token 的代碼 相同的語言 相同的數據過濾管道 以保留最高質量的代碼 我們對此進行了三個 epoch 我們也進行了線性衰減 我們主要使用 Repet 用戶最流行的語言 不是我們之前看到的列表 如果你去 Repet 我會說 95% 的人主要寫 Python 和 JavaScript 這是今天的熱門語言 另一個關鍵見解是 我們模型的截止日期是幾週前 所以如果最近一個月每個人都在編寫軟件的熱門新庫 我們模型將能夠生成遵循該庫的代碼 我們將繼續更新這些模型 以便我們能夠跟上趨勢 並讓我們的開發者更開心 這是我的表格 我很喜歡 這是一個回顧性比較 最左邊是我們的基礎模型 我們為了節省空間沒有添加 StarCoder 而且基礎模型已經在每種語言中都名列前茅 所以沒有意義了 現在我們在中間有 CodeLlama 你可以看到為什麼 我們在幾乎所有語言上都顯著更好 所以我們在 OpenAI HumanEval 基準測試上有 36% 回想一下 當我還在研究 PalCoder 時 那是我們在 2022 年初發布的基準測試結果 而那個模型有 5300 億個 token 幾乎是這個模型的 200 倍 它達到了相同的 Pass 1 性能 同樣的 CodeInci 001 如果你回頭看論文 它得到了 36% 我們對此感到非常驚訝 為什麼我們要經歷所有這些訓練模型的艱辛 不僅僅是因為它很酷 你知道 我們喜歡做這些事情 但這是有理性的 我們真的想盡可能快地用我們能訓練的最強大的小型模型來做 這就是原因 我們所有的模型實際上都針對推理進行了優化 而不是在基準測試上表現出色 這一點發生了 讓我們感到非常自豪 也讓我們在進行模型檢查時感覺良好 它表現得像我們預期的甚至更好 但事實證明 我們的關鍵結果是在單個模型上 沒有批處理 我們每秒生成超過 200 個 token 我們以各種可能的方式調整了架構以提高速度 我們正在訓練一個小型模型 正如我之前所說的 我們使用 Flash Attention 和 Triton 內核 我們使用最新的 GQA 所以每一個方面都確保我們能夠盡可能快地運行 我們基本上針對 Tron 推理服務器和加速框架 例如 TensorRT 或 TLLM 進行了優化 它們確實榨乾了 GPU 的最後一點 MB 另一個非常有趣的見解是 我們也努力使模型部署更快 如果你曾經不幸地在你的生活中使用過 Kubernetes 你就知道 感謝上帝 你可以讓你的 Pod 下載所有依賴項 並構建它 等等 所以我們第一次啟動這個基礎設施花了 18 分鐘 從點擊到模型部署 現在如果你想適應應用程序接收的負載 18 分鐘看起來像永恆 如果有流量高峰 那就祝你好運 我們的一位優秀工程師 Bradley 你今天晚些時候會在展位上找到他 他將這個數字從 18 分鐘縮短到僅 2 分鐘 有一長串的技巧 他用過了 我不會一一列舉 只需與 Brad 交談 這裡的酷見解是 我們現在獲得的負載越多 我們就能做出非常快速的反應 這就是我們服務大量用戶群的方式 所以當 Amjad 宣布 AIForAll 時 就在 10 分鐘前 我們打開了開關 現在代碼補全對我們所有用戶都可用 這就是我們這樣做的原因 我被問過幾次 夥計們 你們為什麼要開源你們的模型 你們付出了很多努力 這對公司來說可能是一個優勢 事實證明 我們這樣做的瞬間 我們獲得了很多採用 除了很多讚揚 感覺很好 與其他使用我們產品的 AI 人士聊天 感覺很好 我們也開始看到一些微調版本 指令微調版本 我們已經看到很多人在本地使用我們的模型 通過 GML 在 Apple Silicon 上運行速度超快 他們構建了自己的自定義隱私保護的 GitHub Copilot 替代品 使用 Repet V1 所以我們預計在接下來幾天內也會發生同樣的事情 我們正在與 Mava 一起努力 他的展位是幕後主腦 他將告訴你所有關於如何將其投入生產的細節 我們將在這裡待到今晚 所以非常樂意一起玩這個模型 在最後一分鐘 我想給你一個預告 我們接下來幾週將要做的事情 我們已經達成了一些非常令人興奮的合作 第一個是與 Glaive AI 合作 這是一家正在構建合成數據集的公司 我們正在研究我們模型的指令微調版本 210,000 個編碼指令 我們已經看到非常令人興奮的結果 我們想仔細檢查它們 並關注我們的 Twitter 在我們確定這符合我們的預期時 它將會發布 你將能夠玩它 第二個公告 我們還與 MoreFlabs 合作 我認為 Jesse 今天在這裡 他將在稍後進行一次會議 準確解釋這個新格式的作用 我將給你一個預告 然後去聽 Jesse 的演講 他將向你解釋一切
这些细节,所以我们设计了“第一种格式”,即在语法树中,你可能听说过“填充中间”这个概念,即你可以将文件一分为二,然后基本上,如果你在中间编写代码,你可以告诉 LLM 文件顶部是前缀,文件底部是后缀,然后你将这个上下文提供给模型,这样它就知道应该填充哪一部分。现在我们发现这种格式甚至更强大,它能够感知源代码底层的抽象语法树,并且已经取得了非常有希望的结果。再说一遍,这将在几天或几周内发布。最后一件事是我们与 Perplexity AI 的家伙们合作,你可能用过他们的实验室,那里可以非常快速地托管模型,而 Rapid B 1.5 将在那里出现,你可以开始玩它,并在今晚之前获得一个预览。谢谢大家![掌声] 各位女士们,先生们,请欢迎 Auto GPT 的发明者和他的团队 Torrin Bruce [音乐] Richards [音乐] 来到舞台。谢谢旧金山,热烈欢迎。我是 Torren,Auto GPT 的创始人,我很高兴向大家展示 Auto GPT 的聪明才智在过去几个月里一直在努力。我现在要把舞台交给 Senen,我们的一位创始 AI 工程师。谢谢。好了,谢谢 Toren。我想谈谈我认为很多人没有意识到的事情,我很久以来都没有意识到这一点,我们并没有达到我们潜力的顶峰,我们可以工作得更快,我们可以做得更好,我们可以用更少的时间和更少的压力做更多的事情。以这个表格为例,我不知道你怎么样,但我盯着这个界面看了好几个小时,我受够了。你会怎么填这张电子表格?好的,这是公司名称的潜在客户生成,你有链接,你可能会做的就是去谷歌搜索,复制粘贴,也许去领英,复制粘贴,回到谷歌,一遍又一遍,一遍又一遍,几个小时,回到同一个界面,回到同一个网站。但如果不是那样,你就可以聊天,并且得到相同的结果,一张填好的电子表格,包含所有潜在客户。好了,让我再举一个例子。我们都有未读消息,对吧?不是因为我们懒惰,据称,而是因为我们不知所措。现在,你会怎么清理你的收件箱?你会坐在那里几个小时,发送相同电子邮件的相同变体。但如果可以聊天呢?最后一个例子,我保证。实际上,这些电子邮件现在将成为你收件箱中的潜在客户,而不是仅仅未读电子邮件。最后一个例子,假设你是一家公司或一个开发者,你花费数百万美元开发应用程序,这些应用程序需要几周、几个月,有时甚至几年才能完成。因为你可能正在使用 Chachi PE,我知道我正在复制粘贴。但如果不是所有这些努力,你只是聊天呢?我想你明白了。你听说过 Auto GPT 是有原因的。Auto GPT 激发了数百万人的灵感,它为我们所有人都能充分发挥潜力的世界带来了希望,那是隧道尽头的曙光,你可以看到数字人工智能的火花。在这个世界里,每个人都从主要依靠自己的大脑来执行琐碎的任务,只用 10% 的大脑进行创造性工作,转变为成为创造性的大师,或者达到他们生命中的巅峰潜力。在这个世界里,我们都是 AI 工程师,无论你是否知道。人们已经注意到了,Auto GPT 是最快达到 10 万颗星的存储库。每个主要的新闻网络都报道了这一点,每个人都理解它的潜力。它开启了一个全新的开发领域,一个全新的范式,即增强人类,让他们有更多时间,过上更轻松的生活。甚至这个领域的主要参与者也意识到它的重要性,并开始研究这些代理。所以我想把舞台交给 Auto GPT 的主要开源开发者,让他谈谈开源存储库。谢谢 Slend,谢谢 Slend,旧金山你好。我认为我们都在这里,是对开源力量的真实证明。在此基础上,我们有一些非常令人兴奋的消息要分享,因为就在上周,我们的开源存储库 Auto GPT 在 GitHub 上达到了 15 万颗星。当然,指标很有趣,但对我来说,这不仅仅是一个数字。这是 15 万人对我们所做的事情产生了兴趣,并决定点击那个按钮。所以如果你喜欢我们的存储库,谢谢。还有 460 多名贡献者,他们付出了时间和精力,提交了数千个拉取请求和问题。也感谢他们所有人。还有我们在线社区的 47,000 名成员,以及他们给我们的所有有趣和富有见地的互动。有时这是一段疯狂的旅程,但它让我们在过去六个月里做了很多事情,学到了很多东西,我非常期待接下来的事情。我已经说过了,但没有我们的社区,我们是做不到的,社区很重要。所以我们致力于培养、发展和赋能这个社区,并共同构建未来。我将把舞台交还给 Slend,让他告诉我们这意味着什么。谢谢。自开源代理最初发布以来,我们并没有停滞不前。我们一直在努力改进它的功能,并实现最新的前沿研究。但我们也一直在做其他事情,以表明我们对代理领域和开源生态系统的承诺。我们构建了 Forge,这是一个模板,任何代理的任何代理创建者都可以使用它来更轻松地开发他们的代理,并提供标准化的模板。我们还构建了一个开发工具 UI,可以轻松地与你的代理进行交互,并使用直观的界面迭代地改进你的代理。所有这些工具都建立在 AI 工程师基金会的代理协议和其他行业标准之上,以最大化兼容性和互操作性。任何实现此协议的人都可以使用我们的基准前端开发工具和其他基于此协议构建的产品。虽然这个开发工具模板处于测试版或早期阶段,但它已经为我们正在进行的黑客马拉松的参与者提供了服务,我们有 3 万美元的现金奖励。我们从中学习了很多,收到了很多很好的反馈,收到了很多错误修复和见解,我们将把它们应用到未来。其中一个见解是代码至上。我们意识到编码代理是这个世界的根本代理。让我告诉你,数字结构,根本的数字结构是代码。我们的目标是构建一个通用的代理,是的,但代码是通往 AGI 的垫脚石。一个有动力的程序员可以完成任何事情,除了买一个床架。我们随着时间的推移学到的另一件事是,没有指南针,你就不知道要去哪里。你知道,在存储库开始时,我们收到了数千个拉取请求,每 2 小时一个拉取请求。我们不知道这些拉取请求是否好,我们甚至不知道如何测试这些拉取请求。我们没有真正的方向。测试这些需要时间,而且成本不必要地高。所以我们创建了一个指南针,我们创建了一个基准来指导开源存储库的开发,并量化地知道我们是否在改进。这是一种简单的方法来了解你的代理在不同类别中的改进情况,人们目前正在为虚拟黑客马拉松受益于此。这很酷。在过去的几个月里,我们一直在我们的 CI 管道中针对生态系统中的不同开源代理运行它,测试表明我们正处于一个特殊时刻的边缘。这些代理显示出持续的改进,别担心,我不会把它写进研究论文,它非常嘈杂,非常混乱,但有一个持续的趋势,从 35% 到 55%。这只是 8 月份基准测试成功率随时间变化的图表。我们还致力于安全。随着生态系统的发展和代理能力的增强,总会有信任和可靠性问题,而 Auto GPT 致力于解决这些问题。其中一个问题是提示注入,它将永远存在。OAS,一个主要的安全性组织,已经谈到了这一点,并表示这不仅是语言模型面临的一个大问题,也是代理面临的一个大问题。本质上,当代理访问一个网站时,所有代理都需要这样做,而网站上有恶意的东西,然后 LLM 会说,好的,我现在需要做那个。你可以在这个例子中看到。然后还有另一类我称之为“无辜的恶意”,即代理有时很糟糕。这是事实。在这个例子中,我身后的这个人要求一个开源代理删除一个特定目录中的所有 JSON 文件,而代理最终删除了笔记本电脑上的所有 JSON 文件。如果我们希望代理能够做人类能做的事情,它们将需要根访问权限,这个问题将继续存在。因此,在 Auto GPT 中,我们致力于并广泛地思考这些问题,我们一直在研究一篇论文来解决其中一些问题。为了使代理在商业上可行并值得信赖,这些安全问题必须得到解决。你不能有 99% 的成功率,必须是 100%。一封发送的电子邮件可能是一个丢失的合同或一个丢失的潜在客户。因此,这不仅对开源代理的开发至关重要,对所有代理都至关重要。毕竟,我们的最终目标是数字 AGI,以增强全人类。我将邀请 Craig 来宣布一些关于 Auto GPT 开发的激动人心的消息。你好。所以,这六个月来是一段疯狂的旅程,我们一直在强调这一点,因为它对我们来说非常重要。我们之所以能走到今天,完全是因为我们的社区,因为我们共同的激情,推动着 AI 代理能力的边界。所以我们非常激动地宣布,Red Point Ventures 已经投资了 1200 万美元,将这个愿景变为现实。这不仅仅是资金,这是他们对我们使命的深刻信念和对开源的承诺。这就是为什么我们选择他们,因为他们非常致力于保持开源,这对我们项目中的每个人来说都非常重要。现在,这就是我们需要你的地方。有了这笔资金,我们希望扩大我们的团队,并增加更多充满激情的个人。所以加入我们,给我们发消息,加入我们的 Discord 社区,让我们一起努力,共同打造世界上最好的开源通用代理。我们可以重新定义工作的未来。[掌声] 谢谢。[音乐] 各位女士们,先生们,请欢迎来到舞台,我们下一位演讲者,OpenAI 的应用 AI 工程师 Simone Fishman,以及 OpenAI 的开发者关系成员 Logan。[音乐] [掌声] [音乐] [掌声] [音乐] Kilpatrick。你好吗?很好。嘿,大家好。关于我们的一些情况。所以你可以把 OpenAI 看作是一个产品和研究公司。我们构建了很棒的模型,然后我们思考如何最好地应用它们来解决人类面临的最大问题。所以有一个部署流程,Logan 和我都在这个部署流程的最后,我们与现实世界中使用 OpenAI 模型的人合作。我们花时间思考如何最好地使用我们的模型,哪些是最难解决的问题,以及如何应用 OpenAI 技术来解决它们。我是应用团队的一员,我是一名工程师。是的,我叫 Logan Patrick,我做开发者关系方面的工作,所以帮助人们使用我们的 API 构建有趣且令人兴奋的产品和服务。所以,各位,从讲座的标题可以看出,我们将讨论多模态内容。但我认为从今天我们所处的位置开始很重要。我认为,正如我们都知道的,在过去 6、12、18 个月里一直在 AI 领域进行构建的人们,2023 年确实是聊天机器人的年份。我认为看到人们能够做多少事情,仅仅通过一个简单的聊天机器人就能为世界创造多少价值,真是令人难以置信。想到这些系统有多么粗糙,以及在未来一年、十年里将创造多少价值,仍然让我感到震惊。这就是为什么我对 2024 年感到兴奋,我认为这将是,我不知道我是否可以注册商标,但“多模态模型年”。这是一个绕口令,但希望域名 multimodel.com 是可用的。不,如果可用,请不要购买。是的,我对此感到兴奋。OpenAI 有大量的多模态功能正在开发中。有些人可能已经在 ChatGPT 和 iOS 应用或今天的 Web 应用中尝试过其中一些,比如视觉,输入图像,描述它们。我们稍后会展示。还有生成图像的能力。我们过去有过 DALL-E 2,但 DALL-E 3 真的,如果有人尝试过,它将事情提升到了一个新的水平。所以很高兴今天也能展示一些。好的。如果你认为多模态功能目前的工作方式,它有点像一个岛屿的集合,我们有 DALL-E,它接收文本并生成图像。我们有 Whisper,它接收音频并生成文本转录。我们有 GPT-V,具有视觉能力,GPT-V 具有视觉能力,它可以同时接收图像和文本并进行推理。但目前,这些都是非常分散的事情。然而,你可以将文本视为所有这些模型之间的连接。我们可以利用这种模式构建很多有趣的东西。但我们真正期待的是一个所有这些模态之间统一的未来。这就是我们的方向,我们还没有到达那里。但你可以像 GPT 可以同时消费图像和文本一样思考模型。也许将来我们会消费更多模态,我们会输出更多模态,我们会能够同时谈论它们。然而,我们还没有到达那里。所以,今天 Logan 和我将向你展示一些架构模式和一些方法,你可以用我们今天拥有的东西来模仿这种情况,以及一些你可以开始思考的模式,当我们朝着这个模型可以超越文本进行推理的未来迈进时。正如 Simone 和我今天在制作这些演示时,总是拖到最后一刻,看到真正多模态系统的许多工作是如何将所有东西连接起来,连接不同的模态。再次,正如 Simone 所说,使用文本作为不同模态之间的桥梁。但当你不必再这样做,并且你真的只有一个模型可以处理文本输入和输出,视频输入和输出,语音输入和输出时,看到开发者效率的提高将会非常有趣。所以当它成为可能时,这将非常酷,并且使演示变得更加容易和简单。好了,今天我们将向你们展示两个演示,我们将讨论一些高层想法和概念。希望最后,你会受到启发,思考一些你今天可能无法构建的事情,但你将在 6 个月或一年后能够构建,以及你应该如何开始思考你的产品,因为它们能够包含更多模态。好的,进入第一个演示。这是一个非常非常简单的 DALL-E 视觉循环。是的,所以,是的,抱歉,很高兴看到这个演示。Simone,我们将展示演示,我将进行讲解。基本思想是,让我们拍摄一张真实的图像,让我们使用 GPT-V 或 GPT-4 并输入图像,基本上创建一个人类可读、可理解的图像描述。然后我们将它输入 DALL-E 3,并实际生成该图像的合成版本。所以整个流程需要一些时间来运行,因为它目前不是一个生产系统。但好处是我们已经准备好了一些例子,我们可以,如果你想现场启动一个,我们也可以让它运行。背景。所以,这是一个非常有趣且简单的想法。这是我在楼下大厅拍的一张照片,就在你走进酒店时。有一些万圣节主题的 Painted Ladies。所以我们在这里做的是,我们要求 GPT-4 视觉详细描述这张图像,然后我们要求它为 DALL-E 生成一个描述,以便根据此生成新图像。你可以看到它做得还可以。这是图像的描述,这是使用的提示。它捕捉了很多细节,比如墓碑和老狗的欢迎标志。然后它生成了一个全新的图像,但有很多细节都错了。你知道,比如大理石是黑色的,蜘蛛是宽的。然后我们做什么呢?我们再次将两张图像传递给 GPT-V。我们要求它进行比较,看看有什么不同。然后它捕捉了很多不同的细节,然后我们要求它根据这些差异创建一个新图像。它继续生成新图像。你看到所有黑色大理石都消失了,蜘蛛现在更大更黑了。但你知道,它匹配得很接近。我认为这只是为了说明,还有很长的路要走,但这只是为了说明这样一个想法:我们现在在 AI 中有很多任务,我们需要人类参与来评估模型生成的视觉输出,将其与其他东西进行比较,然后迭代指令,再次传递给另一个模型。这是一个我们认为人类非常重要的流程,而且在一段时间内可能仍然很重要。现在,模型可以自己做这件事了。我认为这里有一些有趣的模式。我认为其中一个就是描述图像,这很有力量,因为现在你有一张图像,现在你有文本,你可以对该文本进行推理,你可以用该文本做很多事情。但另一个非常有力的元素是比较图像,以及发现差异,就像有一个最终目的地,你想到达那里,还有一个当前目的地。这种比较模式可以应用于很多事情。所以想象一下,Logan 和我只是在聊一些其他你可以应用它的方式。Logan 的想法是,想象你正在布置你的房间,你刚搬到一个新地方,你在 Instagram 上找到一些你喜欢的氛围的图片,以及一些物品。然后你可以抓取那张图片,把它给 GPT-4 视觉,然后你可以说,好的,现在在亚马逊上搜索,找到所有符合我房间这种氛围的灯。我非常想要这个。我不会室内设计。所以就像,我希望能做到这一点,就像,给我所有符合这种特定氛围的东西。这现在是一个难题。还有一些,Simone,我可以再说一句吗?我认为,你知道,当这个第三张图像出现时,人们笑了,善意地笑了。重要的是要知道,这里没有进行任何提示工程。这是你能得到的原始输出。这是一个 1 小时的演示版本。所以人们一旦通过 API 获得它,就会疯狂地使用它,并且理想情况下会获得比我们今天看到的更好的结果。可能使用人们在会议上谈论过的各种技术。所以这是这个演示的基本版本。是的,我们想保持简单,最小化,只是为了说明模型的力量。这是模型方面最原始的。几乎所有的完成输出都直接进入模型,代码只有大约 50 行。所以大部分的举重工作都是由模型完成的。我将向你们展示另一个例子,然后我将尝试做一个现场演示,这可能会很糟糕。所以这是后台。就在我上台前,我拍了这张照片。你可以看到 GPT-V 实际上做得很好,描述了它。有显示器,有盒子,有电缆,还有其他东西。然后这是 DALL-E 生成的图像,DALL-E 3。你可以看到蓝色的地毯,电缆,盒子,所有元素。然后它继续找出差异,它注意到,例如,这张图像中有所有这些垂直灯光,而第一张图像中没有。它在这里提到,灯光,所有这些垂直灯光都在墙壁和天花板上,这增加了深度。但然后它重写了提示,并消除了所有垂直灯光,并添加了后面的窗帘,而这里没有窗帘,但这里有黑色窗帘。所以只是一些有趣的事情。还有很长的路要走,但这个全新的,它打开了一个全新的交互模式的盒子。你现在可以进行视觉推理的事实。好的,让我们尝试一个现场例子。这是我周末在 Pisma Woods 的一次试跑。所以我将从头开始。希望它能工作。去另一个。好了。图像描绘了一个宁静的、雄心勃勃的林地环境。图像的焦点是一座木制栈道或人行桥,蜿蜒穿过茂密的森林。非常详细的描述。光线透过树木。我只是把原始的,直接传给 DALL-E。如果人们看过 ChatGPT iOS 应用中的 DALL-E 模式,它实际上做了一些事情。我不知道确切的提示是什么,但它做了一些提示工程。如果人们实际上尝试过使用我们的实验室产品来制作 DALL-E 图像,你必须自己进行提示工程。我认为这是限制之一。如果人们过去使用过 Midjourney 或其他图像模型,那么制作好的、对这些系统有效的提示就很难。所以很高兴模型可以为你尝试一下。它告诉我们,第二张图像更漂亮,细节更丰富,这很合理。对于人们来说,思考这一点也很有趣。有趣的是,对于这些图像模型来说,主要的限制仍然是,正如我们在实时演示中所看到的,实际上是[音乐]。当然,我们接下来要回到幻灯片。回到幻灯片。我将让它运行,如果时间允许,它可能会工作。之前试过三次了。好的。对于第二个演示,我们将进一步深入,并处理视频。这里的想法是,有很多视频摘要演示,我们已经看到其中大多数只是获取转录,然后要求 GPT-4 总结这个转录。然而,视频中有很多信息是通过视觉传达的。所以我们在这里做的是,我们从视频中提取帧,然后我们要求 GPT-4 视觉描述所有帧,然后我们要求 Whisper 转录视频。现在我们有了视频的长文本表示,它不仅包含了所有音频信息,还包含了视频的视觉信息。然后我们正在做一些令人兴奋的混合,Logan 会告诉你的。是的,我准备好下一张幻灯片了。是的,对于这个演示,我们实际上只是使用了 GPT-4 的介绍视频。如果人们在 YouTube 上看过,这是一个很好的视频。如果你以前没看过。所以从 YouTube 获取原始视频。再次,就像 Simone 所说,从 YouTube 获取原始视频。将视频中的不同帧切开,将它们输入 GPT-4 并输入图像,获取摘要。你可以看到,我知道这很难。但实际上只是说,这些是简单的图像,所以很容易捕捉到这里显示的深度。获取这些图像,然后进入下一个部分,实际上是一个巨大的,另一个很棒的 DALL-E 图像,但对转录的巨大描述。然后所有图像,实际上是图像嵌入,这是最简单的思考方式。所以如果你想实际看到结果,右下角的二维码是真的。你可以扫描它,看到生成的文章。它相当不错。它做得很好。我认为对我来说,这很令人兴奋,因为你可以再次捕捉视频中发生的事情的深度。DALL-E 图像开始,然后是一堆实际的帧,它们与博客文章中讨论的内容的上下文表示相匹配。再次,没有手工操作。我无法开源代码,因为它包含一些未发布的 API。但没有隐藏的魔法。这是一个原始的、糟糕的提示,用于生成这篇博客文章。我认为这再次非常酷,并且使视频更易于访问,以文本形式。我喜欢它。好的,让我们看看是否完成了。没有。哦,好吧。好的。所以,一些结论性的要点。开始考虑多模态。这是现在正在发生的新事物。如果你有任何疯狂的想法,你认为哇,如果技术能做到这一点就好了。我们可能会一起合作。你将在 6 个月或一年后能够构建的产品将是不可思议的。所以作为构建 AI 产品和构建公司的人,请开始考虑这一点。将文本视为当前的连接组织。我认为这是一个非常强大的概念,在不久的将来它将继续如此。并且在多模态方面,特别是处理图像方面,还有许多强大的模式有待探索。所以非常期待很快就能让你们大家上手,看看你们都用它构建了什么。我认为看到 AI 开始涉足视觉世界真是令人兴奋。是的,具有图像输入的代理将会很棒。我等不及了。感觉互联网的很大一部分都需要它。是的,我们很兴奋。我认为在不久的将来会发生很多事情。我认为能够一窥其中一些用例是什么样子,这很酷。Simone,你还有什么想说的吗?很好。好了,这太棒了。谢谢大家。[音乐] [音乐] 谢谢。[音乐] [音乐] 现在,请欢迎 Lindy 的创始人兼首席执行官 Flo Crello。[音乐] 再在你身边呼吸一次,这样我才能找到力量分开我们。[音乐] 谢谢大家。我将谈论等待我们的未来,而且不是遥远的未来,我说的是 5 到 10 年,就在我们有生之年,一旦代理完全实现它们的潜力,等待我们的未来。如果我必须用一句话来形容它,我会说这是一个 25 岁的年轻人可以拥有与可口可乐公司相同或更大的商业影响力的世界。这样说听起来很疯狂,但实际上是有先例的。媒体曾经发生过。想想奥普拉为了建立她的媒体帝国不得不做什么?你必须去一个闷热的房间里向一群 CNN 高管推销,筹集资金,雇佣你的团队,寻找摄像师。显然,互联网和 YouTube 等应用程序已经将这种摩擦降至零。它将摩擦降低到如此低的程度,以至于听起来像个笑话。想想顶级 YouTuber MrBeast。他的影响力比奥普拉大得多,他的影响力甚至比超级碗还大。他只是和他一起开始的笔记本电脑。它甚至发生过更奇怪的事情。Ryan's World 在 3 岁时就开始在 YouTube 上制作拆箱和评论玩具的视频。今天他 12 岁,身价 1 亿美元。我的观点是,一旦你将摩擦降至零,一旦你消除了守门人,你得到的不仅仅是同样的内容,只是更便宜。当您消除守门人时,内容的性质就会改变。看看奥普拉,看看超级碗。这就像一个脱口秀,就像一场体育比赛。Ryan's World 和 MrBeast 只是很奇怪。所以我的观点是,我们即将看到同样的转变发生在整个商业世界。我们将把摩擦降至零,结果是我们将看到更多奇怪、更有创意的想法变为现实。你知道,Lindy 是我的第二家创业公司。在此之前,我还有一家名为 Team Flow 的公司。我记得当我开始它时,我对创业的理解可能有些天真。我以为这只是关于构建一个很酷的产品并将其推向市场。然后我发现,实际上,在到达那里之前,有趣的部分是人们,我看到观众中有一些笑声,在到达那里之前,你必须与律师会面,注册公司,与银行家会面,开设银行账户,与 VC 会面并筹集资金,与招聘人员会面并雇用团队。等等等等。我的意思是,你们都知道,一旦你有了生意,它并没有容易多少,它还在继续。所以当生成式 AI 的浪潮到来时,所有这些我们看到的生成文案或图像的惊人产品,我都觉得很棒,但它并没有解决我的问题,即创业太痛苦了。而且 GTP 不是由文案或插画师组成的,它是由工作和行动组成的。所以那时我开始对代理 AI 感兴趣,能够自动化你生活中的琐碎部分的 AI。这部电影《太空》是由制作《硅谷》的同一个人制作的,我强烈推荐。里面有一个名叫 Milton 的可怕的、令人沮丧的角色。他一生都在某个地下室里做着上帝知道什么。他们称之为填写 TPS 报告。最后,Milton 做了他职业生涯中最有成效的事情,那就是他烧毁了整栋大楼。这就是我们要做的,比喻来说,警察来了。你知道,我把它当作一个象征,没有人对现状满意。人们总是担心,哦,机器人正在抢走人们的工作。我认为是人们一直在抢走机器人的工作。你想成为 Milton 吗?当你查看数据时,这是一个巨大的问题。美国平均经理每周花费 15 小时处理这类行政任务。仅在美国,每年就达 4590 亿美元。这比新西兰的 GDP 还多。所以这就是我们开始的地方。我们构建了一个 AI 员工,它首先做得很好的是充当你的个人助理。我们称之为 Lindy。好消息是,当我们深入研究这个问题时,我们发现有三个主要的耗时因素。而且你都知道,不出所料,这就是你在工作中花费生命的地方,你讨厌它。所以你的日历、你的电子邮件、你的会议。所以我们构建的产品,那些是产品的实际截图。你可以让它为你安排会议。这里的例子实际上很酷,因为它展示了 Lindy 的另一项能力,那就是她会不断地从与你的互动中学习。所以在这里,我让她每周抽出半个小时与 Eric 会面。她称之为 Flo Eric,因为之前我曾让她明天安排与 Eric 的会议,她做到了,但她将会议命名为“与 Flo 会面”,我所有的会议都是“与 Flo 会面”,所以这没什么用。我说,不,我给她一点反馈,称之为 Flo Eric,她做到了。所以她重新命名了会议,并保存了偏好以供将来使用。通常,我可以给 Lindy 任何任意的偏好,无论多复杂,她都会记住并遵守。我可以将 Lindy 添加到我的电子邮件中,这样她就可以帮助我安排它们。当你使用 Lindy 时,她可以为你预先起草回复,在你的收件箱中,以你的声音,为每个收件人起草。因为你与你的伴侣和你投资者的说话方式不同,希望如此。所以每天早上我醒来,打开我的 Gmail,我就会有所有准备好的草稿供我审查。Lindy 为我的会议做准备。我让她说,嘿,每次会议前五分钟,给我发送 Zoom 链接,我要见的人的 LinkedIn,以及我最近几次与他们的电子邮件摘要。她就是这么做的。真正疯狂的是,我们自己并没有构建任何这些功能。我们所做的是构建了一个通用框架,允许 AI 使用任何任意工具来追求任何任意目标。正如我们稍后将看到的,一些非常复杂和精炼的行为从中产生。我有一个个人抱怨,每次人们上台谈论他们的 AI 产品时,他们总是谈论好的一面,它总是有效,非常挑剔。所以我今天将打破这种模式,我将谈论几周前它不起作用的时候。我让 Indy 帮助我提高词汇量,每天早上给我发送一个新颖有趣的词。所以她每天早上都这样做。我醒来,我的收件箱里有一个新词。这很棒。我开始使用它们,直到有一天早上我收到这个词“pure liquidity”。一个迷人的词,表示我通过一次没有固定方向的谈话进入的行为。我停顿了一分钟。纯粹的流动性?所以我说,我以前从未听说过这个词。我只是谷歌了一下,果然,它不存在。然后我回去重新谷歌了她发给我的每一个词,没有一个存在。所以如果我今天用了任何不存在的词,那就是她一直在毒害我的大脑。但当它起作用时,它就起作用得很好。当它起作用时,对你来说意味着什么,你未来的计算体验不是整天在地下室里填写 TPS 报告,不是在电脑上工作,而是与你的电脑进行对话,你处于心流状态,你只专注于你最擅长的事情,你工作中所有琐碎的、可怕的部分,你讨厌的部分都会自动为你安排好。我不知道你们怎么样,我觉得这都很棒。我迫不及待地想让它完全实现。但这还不能让你达到我所说的那个阶段,即一个 25 岁的年轻人比可口可乐公司有更大的商业影响力。为了达到那里,你必须更进一步,而不是只有一个 Lindy 作为你的助手为你工作,你可以拥有一个完整的 Lindy 社会一起为你的业务工作,以追求你的目标。如果你想了解它的强大之处,可以考虑一下你周围的每一个物品,房间里的每一个物品,现在都是由一群人制造的。没有一个人能做到。事实上,有一个家伙运行了一个名为“烤面包机项目”的项目,他想看看一个人是否能制作一个像烤面包机这样简单的物品。他花了六个月的时间,花费了 2000 美元,如果算上他的时间价值,可能要 5 万美元。这就是他最终得到的。或者他可以去亚马逊花 25 美元买一个完全没问题的烤面包机。我认为这种对比很好地说明了一个人、六个月、5 万美元和一个外观糟糕的烤面包机,与一群人、25 美元和一个完全没问题的烤面包机之间的能力差异。我认为同样的事情也发生在 LLM 上。你去 GPT,让它做某事,比如,嘿,为我构建一个完整的 iOS 应用,设计它,将其发布到 App Store,做所有事情。它做不到。然后人们得出结论,哦,GPT-4 做不到,对吧?你得等 GPT-5,GPT-6,GPT-7。我认为这就像你去问一个人,为我制造一个火箭,他做不到,然后你说,哦,人类不能制造火箭。显然,他们可以,只是让他们一起工作。所以这正是我们构建的,一个允许多个代理协同工作以追求你的目标的框架。这就是它的样子。我知道的最棒的例子是,我们创建了一个 Lindy 社会,让 Lindy 能够自我构建。我们需要为 Lindy 构建很多集成,以便她能很好地与 Slack、Twilio、Google Sheets 等协同工作。相反,我们正在构建这个 Lindy 社会。在最高层面,有一个工具创建 Lindy,它接受一个指令,比如,嘿,构建一个 Slack 集成。它会与这个 Lindy 对话,这个 Lindy 会在线查找开放 API 规范和在线网络文档。它会与这个 Lindy 对话,这个 Lindy 是一个经理。Lindys 将任务分配给许多工程师。工程师们从事这项任务。有一个专门负责身份验证代码的工程师,因为这里有几个 Go 语言。然后他们将工作交给 QA 工程 Lindy,她会完成工作。如果不行,就发回给软件工程师。如果可行,就提交一个 PR。为了记录在案,这已经完成了 70% 或 80%。但我认为它指向了未来。这就是你如何实现那个未来,即一个 25 岁的旧金山工作室的年轻人可以比可口可乐公司拥有更大的商业影响力。我认为这将是人类历史上最伟大的均衡器。今天,世界上最好的 CMO 可能为苹果、耐克或可口可乐工作。不久的将来,世界上最好的 CMO 将是一个 AI CMO。同样,世界上最好的设计师,世界上最好的工程师,他们都将是 AI 设计师,AI 工程师。他们将为你工作。我们都将拥有无限的力量杠杆来改变世界。唯一的问题是,你是否能使用那个杠杆。这将是未来唯一重要的技能。想象一下,如果你不再受时间、金钱、团队、人脉的限制。想象一下,你可以建造任何东西,而你只需要你、你的笔记本电脑和你的 Lindy。谢谢。[掌声] [音乐] [音乐] [音乐] n [音乐] 嘿,我不知道,我现在能听见吗?我能。这是第一天的开幕式,大家感觉怎么样?是的,为所有演讲者鼓掌。非常非常兴奋,已经发生和即将发生的一切。AI 领域显然有很多事情在发生,AI 工程领域也是如此。但我一直想在会议上做这件事,现在我帮助举办了一个,所以我们开始吧。我一直想做这个,漫威有点过时了,但我认为这个模式有点奏效。你们大多数人都熟悉前两个。我们有。还有任何最新的听众吗?是的,一点点。强烈推荐。我们还有其他一些计划,我们将在接下来的几天里讨论。我认为 AI 领域有趣的是,有很多东西正在被构建。有些东西已经远远领先,有些东西还处于起步阶段。我们总是想鼓励人们加入。现在还不晚。这是一个很好的时机。现在还不晚。所以你仍然可以从这里增长 1000 倍。所以考虑到这一点,我想介绍下一组演讲者。漫威的比喻有点被 Superbase 的 CTO Ant 夸大了,他在这里的观众席里。因为他说,我们将创建一个叫做“电话级别公告”的东西。我非常崇拜他展示事物的方式,以三为单位。所以我们将展示三件小事,它们还处于起步阶段。所以让我们谈谈。首先是 Bar,他将谈论 AI 工程的现状。给点掌声。[音乐] 大家好。哦,我看到一些观众中的朋友和许多新面孔。我是 Bar,对于那些还没见过我的人来说,我是 Amplify Partners 的一名投资者,我们投资于非常技术性的创始人。
并且我非常关注数据和人工智能,所以我们将讨论人工智能工程的现状,那么我们现在在哪里呢?我们在人工智能工程师峰会上,即使从今天开始,您也能看到这个领域发展的速度有多快。我当然不需要告诉在座的各位,从最新的尖端模型到快速变化的工具,一切都在变化。所以我们进行了一次谈话,并认为退一步说“到底发生了什么?我们如何才能很好地了解人工智能工程的现状?我们如何才能很好地了解人们正在使用什么工具,以及这些东西如何随着时间的推移而变化?”,尤其是考虑到非常非常非常快速的进步。所以我们进行了一项调查,它仍在进行中,你们将是第一个看到调查结果的 Alpha 版本。有 841 人填写了关于他们在工作中如何使用人工智能的调查。据我所知,这是目前为止最大规模的人工智能工程师调查,也是第一个。但继首次调查之后,我们可以跟踪这些调查。所以调查涵盖了很多内容,我没有时间涵盖所有内容,但我们涵盖了从人口统计信息到用例,再到人们实际在他们的技术栈中使用什么,再到人们关心的一些有趣快速提问的问题,即我们应该真正庆祝社区中哪些人做得很好,通过新闻通讯和播客将人们聚集在一起并教育他们。在人口统计方面,在我成为投资者之前,我职业生涯的大部分时间都是一名数据科学家。然后我在数据基础设施方面工作了一段时间。这里还有其他数据科学家吗?举手示意,好的,我看到一些人在角落里。软件工程师呢?作为你们的正式职位名称,好的。人工智能工程师呢?作为你们的正式职位名称,好的,是的。所以软件工程师实际上超过了人工智能工程师。这是前五名角色,但我们在人工智能工程会议上,我们认为我们将看到更多人工智能工程的头衔。但它既是一种工作职能,也是一种我们看到跨越多种不同职能的技能集。所以 Swix 谈到了人工智能变得越来越普遍。在我们交谈过的人中,那些拥有超过 10 年软件经验的人中,有 20% 的人拥有不到一年的 AI/ML 经验,但他们现在正在进入这个领域。如果我没记错的话,大约有 40% 的人拥有不到三年的 AI/ML 经验。所以我们看到大量的人涌入,结合了人工智能技能集和人工智能工程角色。有很多用例我们可以谈论,但只是为了给出一些亮点,大多数人使用 LLM 进行一个以上的用例,用于内部和面向客户的工具。我认为如果我们几个月前进行这项调查,就不会有那么多人使用外部产品。所以祝贺所有为实现这一目标而辛勤工作的人。在选择模型时,准确性和成本是最重要的,而服务成本和评估是人们认为最具挑战性的。有一个关于评估的整个部分,阅读评论很有趣,因为虽然人们有机会对人工审查和学术基准进行投票,但也有一些填写的评论,比如我根据感觉或根据我的眼睛来评估。所以这只是对我们还有多远的一个评论。最后,OpenAI 模型是最受欢迎的,干得好,人群中的 OpenAI 人员,但 80% 的人正在尝试多个提供商,我将开源也包括在内。好了,我们不会全部看完,但我们会分享一项涵盖所有内容的调查。我只会分享一些有趣的,我不知道发生了什么,但作为悬念,大多数人工智能工程师都在使用向量数据库。而我在这里看不到的是,使用第三方和自托管的向量数据库的人数几乎均等。所以随着时间的推移,看看会发生什么将会很有趣。对于提示管理,我认为这个评论非常搞笑,提示管理是一回事吗?我使用 OpenAI Playground 进行原型设计,然后将提示硬编码到源代码中。显然我错过了什么。所以我们看到人们使用外部工具,构建内部工具,这是最受欢迎的,以及使用内部电子表格。但我认为这也有一个关于谁在技术栈中拥有这个的问题,以及随着模型越来越好,它变得越来越重要还是越来越不重要?但随着我们做更多的人工智能,以及可能拥有更多的提示。最后,我们有一个关于未来是开源还是第三方的问题,这实际上非常平均,开源以微弱优势获胜。人工智能工程领域没有太多末日论者。音乐掌声所以我想 12% 的人自信地说有 0% 的机会末日,但你看到那里有一个有趣的分布。太棒了,我想特别表扬一下新闻通讯、播客和社区的每个类别的排名前十。人们投票的方式是,如果他们觉得在过去几个月里从这些中学习到了什么。所以要特别感谢那些投入大量精力进行教育和帮助构建人工智能工程学习空间的人。好了,如果你想更深入地了解所有这些,这里有一个二维码和一个链接。你们是第一个看到人工智能工程调查早期结果的人。我随时欢迎反馈、讨论、你想看到什么。一些事情,比如比我们预期的更多的人在预训练模型,将决定我们继续关注什么以及我们继续调查和分享什么。但我希望你们能从透明度中获得价值,不要客气。太棒了,谢谢 Sasha。是的,这是我们要做的第一个小型发布,即行业权威调查。我想到的下一件事是关于构建行业,开源社区。所以,Sasha Shang,大家,嗨。大家,所以今天我非常激动地站在这里宣布,我们正在启动一个新的组织,名为人工智能工程师基金会。在我开始之前,我想指出我在过去 10 年里一直是一名工程师。所以站在这群人面前让我非常不舒服。所以,我会尽力解释它是什么。所以,人工智能工程师基金会,我们的存在是为了解决人工智能工程师的问题,非常品牌化。今天我们将列出三个问题作为开始。第一,每个项目都在重新发明略有不同的接口。流行的 LLM 的接口,抱歉,流行的 LLM 的接口已被不同的库以不同的方式实现。这对人工智能工程师来说是一个问题,因为我们将不得不独立学习每个接口。其次,工具链开发和监控工具缺乏互操作性。这就是我的意思,没有标准,人们会构建与有限工具集集成的端到端应用程序。这会创建一个基本上是一堆垂直孤岛的生态系统,鼓励转向。然而,另一方面,通过相互同意的标准,我们找到了共同的利益点,这样人工智能工程师就可以找到具有熟悉界面的同类最佳工具。这也会创建一个生态系统,该生态系统基本上鼓励更稳定的基础设施,以及更模块化的框架,以及更多的协作。问题三,风险投资支持的开源锁定,以及我们正在阻止风险投资支持的开源锁定,以及需要应对重新许可挑战。所以有些人可能知道,八月份,我们收到了 Hari Corp 的这个公告。在 Terraform 开源九年后,它们突然被重新许可为非开源合规项目。这造成了很大的恐慌。幸运的是,我们有 Linux 基金会,它迅速行动起来创建 OpenTofu,以确保 Terraform 保持开源。所以,作为人工智能工程师基金会,我们所做的一切都是开源的,我们是一个非营利性的中立机构,我们正在建立一个强大的人工智能工程师社区。我们的第一个项目叫做 Agent Protocol,它是一个简单的 API 规范,截至昨天,它在 GitHub 上大约有 300 个星标,它是人工智能代理开发人员的统一接口。它目前是一个简单的 REST API,通过 REST API,我真的指的是这九个端点以及数据类型的明确定义的模式。您可以在 agentprotocol.com 上查看 Agent Protocol。通过 Agent Protocol,新工具可以被快速获得。所以 AutoGPT 团队最近推出了 AR Arena Hackathon,它建立在 Agent Protocol 之上。所以现在我们有了评估基准,如果你是一名代理开发人员,你应该完全参加这个黑客马拉松。它仍在进行中,提交你的代理到这个排行榜,看看它们的表现如何。有三种方式可以与我们保持联系。如果你有一个开源项目,并且希望其他人工智能工程师从中受益,你可以将你的项目提交给我们。如果你是一名开发人员,你可以通过我们的 Discord 社区与我们保持联系。最后,如果你非常认同我们正在努力解决的问题,并且在经济上能够做到,请赞助我们。更多信息可以在网站 aifoundation.com 上找到。愿源代码开放。谢谢。我不知道我们现在用哪个,但我只是暂时坚持用这个。所以,是的,这就是基金会,大家,非常非常早期。我认为我们必须启动这些事情,这样如果你想加入并协作,就会有一个地方。开源社区。很多人问我关于我的事情,我在做什么?我只是在调动人员,或者建议项目并提拔人员。我正在做一个东西。我还没有准备好谈论它,但是,你知道,没有其他地方可以谈论它。所以这是工作,这是小型人工智能。Tim,如果你想播放剪辑。基本上,这是一个可爱的标志,感谢 Candy Co。本质上,它是我一直在宣传的东西,带有一个 API 网关,它实际上可以帮助人工智能工程师更快地编码,使他们的代码库更简单,并做很多事情,否则需要大量的专业知识。我认为很多人工智能工程都与访问有关,从机器学习到产品。如果你一直在。所以这是 Small AI 的网站,今天刚刚上线。如果你昨天一直在会议网站上,感谢 Sean Oliver 为此编写代码。你实际上已经看到了 Summit AI Bot,它以一种对我来说比网站更好的方式呈现了关于会议的信息,因为我有时只想看关于演讲者、讲座等的细节。而我们为什么不经常这样做呢?OpenAI 的文档没有聊天机器人,Langchain 的文档,他们确实启动了聊天机器人,但它在不同的域上,如果你必须找到它。它并不普遍,因为这需要大量的工作和大量的代码。我们发现的是,我们能够在生产流量上对数据进行微调。这实际上是我一直在做的事情。这是 OpenAI 推出的微调 UI 的截图。这是一个微调的小模型可以做的事情的例子,它将消除大多数人会编写的大量粘合代码。所以这就是我正在做的事情,这就是 Small AI。但我不想把它变成关于我。这次会议绝对不是,你知道,小型会议。这些都是处于起步阶段的新项目,我们将其与主题演讲一起展示。我想传达的形象是,这是一个非常新的领域,仍然有你的空间。请加入我们,请推广你的项目。这是一个允许的空间,你不需要我们的许可。我从未向 OpenAI 申请过许可来开始这段疯狂的旅程,你也不需要。所以去吧,去建造。谢谢大家。音乐。请欢迎回到舞台,AI Summit 的联合创始人兼主持人 Swix 和 Benjamin Duny。我仍然没有麦克风。好了,差不多完美了。好了,感觉怎么样?我非常兴奋,但尤其让我兴奋的是人工智能工程师基金会的成立。你知道,当 Swix 和我还在二月份讨论举办这次会议时,我最初就提出了可能我们可以做一个基金会,因为你知道,这种人工智能工程现象将改变工程,我们将它改变,我们认为是为了更好的,但很多人会因此而挣扎,我们想尽可能多地提供帮助。这是不可避免的,我们将实现这一目标,我们将帮助使其过渡更加顺畅。所以我对此感到非常兴奋。如果你喜欢刚才宣布的使命,你可以通过购买特别版 T 恤来支持它。我不知道我们是否可以在相机上放大它。这是特别版 T 恤。它现在就在你身后的外面设置好了。你可以扫描二维码,也可以拥有它。不,不,不,这是每个人都会得到的。这是每个人都会得到的。每个人都有一个。那些很酷。这个更酷。但数量有限,而且数量不多。所以你需要做的是,外面有一个二维码,你扫描它,它会带你到一个 Stripe 结账链接。你捐赠 50 美元,你就能得到一件 T 恤。很简单,我知道。但你们很多人,而且我认为只有大约 100 件 T 恤左右。所以,请友好相处。但是的,我们现在要休息大约 40 分钟,然后当我们回来时,我们将进行第二场主题演讲。之后,我们将进行主题讨论。我们确实移动了食物和饮料。我知道日程上说食物和饮料现在发生。我们将其移至晚上 7 点。我认为这更有意义,因为我们在下午 1 点左右刚吃过午饭。所以食物很快就会到来,但要到晚上 7 点或 7 点半,在下一场会议之后。还有什么我想说的?这只是即将发生的事情的预览。我的意思是,我们有这么多令人惊叹的公告,这么多令人惊叹的演讲者。而且我们还有更多内容。所以,让我们为到目前为止的所有演讲者鼓掌。Swix,你还有什么想说的吗?在休息之前说几句话?不,让我们吃饭吧。我的意思是,我确信这些人又饿又渴,想聊天。好了,40 分钟后。或者几个小时后。好了,我还没吃午饭,抱歉。有咖啡。我没有麦克风。音乐。音乐。再深吸一口气,在你身边,这样我才能找到力量分开我们。我们明白了。我知道我们尽力了。如果我能回到混乱之中,我会记住你的脸,然后离开。但这就是我们成长的过程。有时必须放弃。有时必须知道何时放弃你的骄傲。没有人可以责怪,没有什么真的会保持不变。这就是我们前进的方式。有时我们坚持,音乐。掌声。此外,用户现在都知道我们都可以轻松访问 ChatGPT 并真正轻松地访问这些模型。我们对使用产品中的 AI 未来抱有很高的期望。我们期望输出清晰,正是我们想要的。我们期望永远看不到幻觉,总的来说,它应该快速而准确。所以我想介绍三种易于实施的策略,以获得更好、更安全的响应。正如我所说,这些可以在你日常使用 ChatGPT 时使用,或者如果你将 AI 集成到你的产品中,它们将大有帮助,以确保你的输出更好,用户更满意。第一个叫做多角色提示。这来自伊利诺伊大学的一项研究。基本上,这种方法调用各种代理来处理特定的任务,当你提示时,这些代理就是为此特定任务设计的。例如,如果我提示模型帮助我写一本书,多角色提示会引导模型聘请一位公关人员、一位作者,也许是我书的目标读者,他们将以一种头脑风暴机制协同工作,由 AI 主导这次头脑风暴。他们会来回交流,抛出想法,协作,直到达成最终答案。这种提示方法非常酷,因为它让你看到整个协作过程。所以它在处理复杂任务或需要额外逻辑的情况下非常有用。我个人喜欢用它来生成任务。接下来是“根据”方法。它将提示限制在特定来源。所以,不要只是问“消化管的哪个部分期望淀粉被消化?”你可以这样说,然后在最后加上“根据维基百科”。所以添加“根据指定来源”会增加模型访问该特定来源检索信息的几率。这可以帮助将幻觉减少多达 20%。所以如果你有一个微调模型或一个通用模型,你知道你正在访问一个非常一致的数据源来获取答案,这非常好。这来自约翰霍普金斯大学,最近发表。最后,也是我最喜欢的,叫做情感提示。这是由微软和几所大学完成的。它基本上研究了 LLM 如何对提示末尾的情感刺激做出反应。例如,如果你的老板告诉你,这个产品对你的职业生涯很重要,对一个大客户很重要,你可能会更认真地对待它。这种提示方法试图利用人类的这种认知行为,它非常简单。你所要做的就是在你的正常提示末尾添加一个情感刺激。我相信你实际上会得到更好的输出。我一次又一次地看到它,从写求职信到生成变更日志,输出似乎变得更好、更准确。实验表明,这可以带来 8% 到 115% 的增长,具体取决于任务。所以这三种非常快速、易于使用的策略,你可以在 ChatGPT 或你产品中的 AI 功能中使用。我们都有这些作为模板,在 Promptu 中,你可以直接去那里复制它们。它是 prompthub.us。你可以在那里使用它们,通过我们的 Playground 与你的团队进行模拟,或者通过链接获取它们。所以感谢你花时间观看这个。我希望你学到了一些新的方法,你可以在日常生活中尝试。如果你有任何问题,请随时联系,我很乐意与你讨论这些事情。谢谢。大家好,我正在展示 Storyteller,一个为学龄前儿童生成短音频故事的应用程序。Storyteller 使用 TypeScript 和 Model Fusion(我一直在开发的 AI 编排库)实现。它生成大约 2 分钟长的音频故事。它只需要语音输入。这里有一个例子,它生成的故事类型,给你一个想法。有一天,当他们在玩耍时,Benny 注意到一些奇怪的事情。森林不像以前那样充满活力了。树叶变成了棕色,动物们似乎不那么快乐了。Benny 担心地问他的朋友们怎么了?朋友们,为什么树看起来这么伤心?你们为什么都这么安静?Benny,森林有麻烦了。树正在死去,我们不知道该怎么办。它是如何工作的?让我们深入了解 Storyteller 应用程序的细节。Storyteller 是一个客户端-服务器应用程序。客户端使用 React 编写,服务器是自定义的 Fastify 实现。主要的挑战是响应速度,即尽快将结果返回给用户。质量和一致性。所以当你启动 Storyteller 时,它只是一个小的屏幕,上面有一个记录主题按钮。一旦你开始按下它,它就开始录制。音频在你释放时作为缓冲区发送到服务器。我们在那里转录它。对于转录,我使用的是 OpenAI Whisper。它对于短主题来说非常快,1.5 秒。一旦可用,一个事件就会回到客户端。所以客户端-服务器通信通过事件流进行,服务器发送的事件被发送回来。事件到达客户端,React 状态更新,更新屏幕。好的,这样用户就知道正在发生什么。同时,我开始生成故事大纲。为此,我使用了 GPT-3 Turbo Instruct,我发现它非常快。所以它可以在大约 4 秒内生成一个故事大纲。一旦我们有了它,我们就可以开始很多其他任务。并行生成标题、生成图像和生成并叙述音频故事。我将一一介绍。首先生成标题。为此再次使用 OpenAI GPT-3 Turbo Instruct,给出非常快速的结果。一旦标题可用,它会再次作为事件发送到客户端并在此处渲染。并行运行图像生成。首先需要一个提示来实际生成图像。这里一致性很重要。我们将整个故事传递给一个 GPT-4 提示,然后它从故事中提取相关的代表性关键词作为图像提示。该图像提示被传递到 Stability AI Stable Diffusion XL,在那里生成图像。生成的图像作为虚拟文件存储在服务器上,然后将一个事件发送到客户端,其中包含文件的路径。客户端可以通过常规的 URL 请求来检索图像,作为图像标签的一部分,它会显示在 UI 中。生成完整的音频故事是这个难题中最耗时的部分。这里有一个复杂的提示,它接受故事并创建一个包含对话和角色的结构,并扩展故事。我们在这里使用 GPT-4,温度较低,以保留故事。问题是它需要一分半钟,这对于交互式客户端来说是不可接受的。那么如何解决这个问题呢?关键思想是流式传输结构。这比仅仅逐个字符流式传输要困难一些。我们需要始终部分传递结构,然后确定是否有我们可以实际叙述的新段落。并合成语音。Model Fusion 负责部分解析并返回部分解析结果的迭代器。但是应用程序需要决定如何处理它们。我们在这里确定哪个故事部分已完成,以便我们可以实际叙述它。所以我们叙述每个故事部分,当它完成时。对于每个故事部分,我们需要确定使用哪个声音来叙述它。叙述者有一个预定义的语音。对于我们已经有声音的所有角色,我们可以立即继续。但是当出现新角色时,我们需要弄清楚给它哪个声音。第一步是为角色生成语音描述。这是 GPT-3.5 Turbo 的提示,它为我们提供了一个包含性别和语音描述的结构化结果。然后我们将其用于检索,我们事先根据它们的描述嵌入了所有声音,现在可以根据性别进行过滤检索。然后选择一个声音,确保没有角色具有相同的声音。最后,我们可以生成音频。这里支持 Speech Synthesis Element 和 11 Labs,基于所选的声音。选择其中一个提供商,然后合成音频。与图像类似,我们生成一个音频文件,并将其作为虚拟文件存储在服务器上,然后将路径发送到客户端,客户端会重建 URL 并将其作为媒体元素检索。一旦第一个音频完成,客户端就可以开始播放。而在后台进行的同时,你正在收听,而在后台服务器继续生成越来越多的部分。就是这样。让我们回顾一下这里如何解决响应速度的主要挑战。我们有一个加载状态,它有多个部分,随着更多结果的可用而更新。我们在后端使用流式传输和并行处理,以便尽快提供结果。你可以在处理仍在进行时开始收听。最后,选择的模型可以最大程度地减少生成故事等处理时间。很酷,希望你喜欢我的演讲。谢谢你的聆听。如果你想了解更多,你可以在 GitHub 上找到 Storyteller 和 Model Fusion,网址是 github.com/lrl/Storyteller 和 github.com/lrl/ModelFusion。大家好,我是 Jeff Show,我想与你分享一个我最近做的有趣生成式 AI 项目。不久前,我制作了一个拥有 100% AI 生成内容的 100% AI 生成游戏。这是一个简单的游戏,你在森林里迷失了方向,你从一个场景到另一个场景,遇到会影响你活力和勇气的事件。想法是,你想在耗尽勇气之前找到你的家。有 16 个场景,分布在 4x4 的网格中。所以如果你玩几次,你就会看到它们。我制作这个游戏最喜欢的部分是生成每个场景,看看 AI 会想出什么。我想,如果能与玩家分享这种体验,那该多酷啊。如果每次他们进入一个新场景,它都是为他们新鲜生成的,并且每个游戏都是独一无二的、不同的。这样,它将是一个无限探索的游戏。听起来太酷了,我想尝试一下。首先,我需要做的是生成每个场景,并以一致的方式做到这一点。我的场景定义是 JSON 对象,描述了场景在第一次找到时以及以后回来时是什么样子,以及它如何影响我的统计数据。所以我开始使用 OpenAI 的完成端点,并进行了一些提示工程。这是我使用的提示。这是一个非常详细的提示,相当长,但大多数时候它效果很好。我通常会得到具有正确 JSON 格式的场景,内容也很好,很合适,多样化,很有趣。所以我对此很满意,但我想让它更可靠,我决定微调一个模型。我使用 OpenAI 的微调端点,他们推荐 50 到 100 个例子。我创建了 50 个这样的例子,并用它们进行了微调。关键是,我缩短了提示,简化了它。我删除了任何 JSON,只是普遍地描述了我想要的东西,希望这些信息能嵌入到训练数据中。我尝试了一下,我不确定它是否会起作用。我尝试了一下,只花了大约一两美元,包括生成所有示例和进行微调。当我尝试时,我很高兴地发现它完美地起作用了。即使我没有提到 JSON,它也因为示例中的内容而完美地出现了。这意味着我的提示中的 token 更少,速度更快,成本更低,而且更容易处理。所以我对它的工作方式非常满意。下一步是制作图像。我使用了一个叫做 Leonardo 的工具。Leonardo 不仅可以让你生成图像,还可以让你创建自己的图像模型。这对游戏来说很棒,因为这意味着你可以拥有风格一致的图像,这正是我需要的。所以我花了一段时间使用 Leonardo 提供的所有不同参数,并与提示一起工作,试图找到一个看起来正确的图像,并且我喜欢它。事实证明,使用场景的描述作为提示可以生成漂亮的图片,这让我很惊讶,因为它包含第二人称,并且说了其中不包含的内容。但它效果很好。微调图像模型的棘手之处在于,你需要一致的图像,其中应该相同的部分在所有训练数据中都相同,而你想要变化的那些部分需要变化,否则它会过拟合,你所有的图像都会看起来一样。但如果你没有它们之间的那种一致性,它就不会真正知道你想要什么,你就得不到那种好的风格一致性。这真的很棘手,尤其是在我的情况下。我需要视角和比例从场景到场景都保持一致。显然,我需要它们都设置在森林里,我想要一种看起来相同的整体色调和纹理。我的一些场景中有人物,有些有动物,有些有建筑,有些什么都没有。所以很难获得那种多样性。我最终不得不训练几个具有不同参数、不同图像集的模型。但我最终找到了一个有效的模型。为了测试它,我生成了很多图像,我生成了很多图像。你可以看到它们都有相似的特征,比如中间的锯齿形路径,显然是树木,以及外观和一切看起来都一样。但仍然有充足的多样性,每个都是独一无二的,但仍然感觉很统一,我对此非常满意。所以现在我拥有了将它们组合起来制作游戏所需的一切。我制作了一个简单的资产服务器,它有一个 AI 管道,首先通过使用我的自定义模型请求 OpenAI 端点的新场景。一旦我得到它,我就会验证 JSON,以确保它拥有所有必需的键。如果它很好,我就会获取描述并将其发送给 Leonardo。Leonardo 用我的自定义模型制作图片,然后返回给我。我将它们组合在一起,然后发送出去。这有效吗?让我给你看看。这是一个创建的示例场景,我对此非常满意。我制作了一个简单的预览服务器,这样我就可以滚动浏览我生成的许多场景,以确保它们有效并且看起来不错。所以我对游戏做了一些更改,每次玩家进入新场景时都请求图像。这里有一个问题,这需要 10、20、有时 30 秒才能完成,这对玩家体验来说并不好。所以我所做的是添加了一些缓存。我预填充了许多场景,然后当场景被取出时,我会在低于某个阈值时将其重新填充。这样,总有一个场景准备好。有了这个,游戏就准备好了,我现在就分享给你。请记住,我们看到的一切都是前所未见的,而且永远不会再见到。这就是游戏。你总是从这个灯柱开始,你必须四处走动,找到回家的路。你的统计数据在左下角。随着你的活力下降,你的速度也会下降。随着勇气的下降,视口会越来越小。让我们四处看看,探索一下。我们将向下移动,这是第一个生成的场景。这看起来真的很酷。这就像一个发光的蓝色脉动光来自林间空地周围的有机形成。你的恐惧和疲惫消退了,你感到恢复了活力,活力增加了,但我已经满了,所以这真的很酷。让我们往这个方向走。现在我不会读完所有这些,但这看起来像一个很酷的篝火场景,这真的很棒。我将向下走,我们有什么?这里有一个大大的黑暗洞穴,在路的尽头,它很吓人,所以我的勇气正在下降。让我们往这边走。现在我们进入了一些雾蒙蒙的树林,很难看清。让我们回去。这是一条非常多风的路,我们正在穿过。让我们走下去。哦,我回到了起点。好了,这就是游戏,它会一直继续下去,直到你找到回家的路。然后你可以再玩一次,每次都会不同。这很棒。我只有几点收尾的想法。有一件事是,这些图像是低分辨率的,它们是 512 像素。我可以通过在我的管道中添加一个 AI 升级器来制作更高分辨率的图像。这会增加时间,所以这是一个权衡。我也可以更有创意地在提示中添加一些内容来制作场景。例如,我可以让用户选择一个主题,甚至获取用户所在位置的时间或当前天气,然后场景就可以生成以匹配他们所在的位置,以获得非常沉浸式的体验。当然,我可以在其他项目上使用这个相同的过程。这就是全部。希望你觉得这很有趣,并且喜欢观看它,就像我喜欢把它组合起来一样。非常感谢。你好,欢迎来到我的关于我们如何思考代码 AI 的各个层级的演讲。我叫 OT Cookit,我是 Sourcegraph 的开发者总监。在 Sourcegraph,我们正在构建 Cody,这是唯一一个了解你整个代码库的 AI 编码助手。为了教育我们的客户和用户,以及塑造我们对代码 AI 的思考,我们一直在内部使用一个我们称之为代码 AI 层级的概念。这些层级在我们的社区中引起了共鸣,所以我们想公开它们,并与更广泛的开发者社区展开对话。在 AI 工程峰会上还有比这更好的地方吗?当我们谈论代码 AI 时,我们指的是构建软件的软件。今天,92% 的开发人员正在使用代码 AI 工具,而一年前这个数字只有 1%。我们的创始人兼首席执行官 Quinn Slack 曾大胆预测,五年内 99% 的代码将由 AI 编写。在我们等待未来的时候,让我们谈谈我们今天如何看待代码 AI 的各个层级。我们看到六个不同的层级,分布在三个不同的类别中:人类发起,人类是主要的编码者;AI 发起,AI 开始在软件开发中发挥积极作用;以及 AI 主导的代码,AI 对代码库拥有完全的自主权。我们将这些代码层级与 SAE 的自动驾驶汽车层级进行对比。让我们深入了解一下。在第 0 级,开发人员手动编写所有代码,没有任何 AI 协助。开发人员负责编写、测试和调试代码库。AI 不生成或修改代码库的任何部分,但 IDE 功能,如符号名称补全,可以提供一些帮助。这一级别反映了在将任何 AI 助手引入开发工作流程之前的传统软件开发过程。运行第 0 级车辆完全依赖于人类驾驶员进行加速、转向、制动以及所有其他操作。在第 1 级,开发人员开始使用 AI,该 AI 可以根据开发人员的意图生成单行或整块代码。例如,开发人员可能会编写一个函数的签名,AI 将推断上下文并生成该函数的实现细节。在第 1 级,AI 助手已在数百万行开源代码上进行了训练,并可以利用这些代码根据开发人员的指导提供更优越的补全。SAE 第 1 级车辆仍然需要人类驾驶员的全部注意力,但提供巡航控制或车道居中等功能,使驾驶更轻松、更安全、更舒适。在第 2 级,AI 编码助手对它正在交互的代码库具有卓越的理解和上下文。在第 1 级,上下文是广泛而通用的,而第 2 级 AI 编码助手则具有它正在处理的代码库的特定上下文。这使得 AI 助手能够为代码补全做出更好的建议。例如,如果你正在使用一个 Node.js 代码库,并使用 Axios 库来处理 HTTP 请求,那么第 2 级 AI 助手将根据 Axios 库提供自动补全建议,而不是像 Fetch 或 SuperAgent 这样的不同 Node HTTP 库。在 SAE 第 2 级,我们实现了部分自动化。人类驾驶员仍然在控制之中,并且可以随时覆盖汽车所做的任何事情。但像交通感知巡航控制或自动变道这样的功能可以使驾驶更加顺畅。在第 3 级,开发人员提供高级需求,AI 助手提供基于代码的解决方案。AI 编码助手不仅生成单个代码片段,还可以构建完整的组件甚至与其他软件的集成。开发人员可以指示第 3 级代码 AI 助手向他们正在构建的应用程序添加用户身份验证,而不是自己编写代码。编码助手将生成所有必需的代码。然后,编码助手可以向开发人员解释它如何工作以及它如何与应用程序的其余部分集成。SAE 第 3 级也是车辆本身承担主要驾驶角色的第一个级别,人类驾驶员作为备用,以防车辆无法安全驾驶。车辆可以执行大多数驾驶任务,但可能会遇到无法充分执行这些任务的情况,因此它被迫将控制权交还给人类驾驶员。在第 4 级,代码 AI 助手可以在没有开发人员监督的情况下主动处理编码任务。让我们想象一下第 4 级代码 AI 助手将发挥作用的几种场景。一个具有第 4 级功能代码 AI 助手可以持续监控你的代码更改,并自动提交 PR 以确保你的文档保持最新。甚至更好的是,编码助手可以监控客户的错误报告,并提交 PR 来修复这些问题。然后,人类开发人员可以简单地审查 PR 并合并它们。SAE 第 4 级车辆可以在特定条件下执行几乎所有的驾驶任务。例如,Waymo 在拥有高质量地图数据的城市运营着一支全自动驾驶出租车车队,并可以在没有人类驾驶员的情况下为乘客提供安全的驾驶体验。客户只需使用移动应用程序叫一辆 Waymo 出租车,提供目的地,车辆负责将乘客带到最终目的地,无需任何额外的人工输入。在第 5 级,AI 助手在代码生成方面只需要最少的人工指导,并且能够处理整个软件开发生命周期。开发人员提供高级需求和规范。然后 AI 设计架构,编写生产质量代码,处理部署,并持续改进代码库。开发人员的角色是验证最终产品是否符合规定的要求,但开发人员不一定查看生成的代码。代码 AI 助手拥有完全的自主权,可以将代码从概念转化为生产。能够实现第 5 级驾驶自动化的自动驾驶汽车可以在所有条件下执行所有驾驶任务。人类可选。汽车负责做出所有决定。在这个级别,方向盘或人类进行任何覆盖的可能性都是不必要的。好了,这就是代码 AI 的六个级别,至少这是我们在 Sourcegraph 的思考方式。你同意还是不同意?我们很想听听你的想法。在 G5 展位找到我们,让我们聊聊。如果你想自己尝试 Cody,请在 cody.dev 为你选择的 IDE 下载它。谢谢,我将在展厅见。嘿,我是 Maya,我将向你展示我们如何创建一个由 GPT 驱动的全栈 Web 生成器,以及它如何在短短一个月内用于创建超过 10,000 个应用程序。首先,我们将看看它是什么,其次,我们将看看它是如何工作的。所以,让我们开始吧。一切都发生在这个网页上,而且非常简单。首先,我们必须输入我们应用程序的名称。比如,我们正在构建一个简单的待办事项应用程序。第二部分是用几句话描述它的工作原理。我们有一个简单的待办事项应用程序,只有一个页面列出了所有任务。用户可以创建任务,更改它们,切换它们,编辑它们。创造力水平对应于 GPT 温度。所以我们可以选择保守一点,获得更少的功能,或者我们可以稍微疯狂一点,但也会有更多错误。所以我将坚持这种平衡的。最后要做的事情就是点击这个生成按钮。在这里,我们可以看到生成的结果。我们得到了一个完整的堆栈应用程序,使用 React、Node.js、Prisma,并且所有这些都通过一个全栈框架 Wasp 粘合在一起。Wasp 的秘密在于它依赖于这个单一的配置文件,该文件以高层声明式的方式描述你的应用程序。例如,在这里我们可以看到我们的路由,只有几行。我们的页面,我们的数据模型。一切都在这里。仍然在这里,我们可以看到我们的客户端代码。例如,这是我们的 React。这是我们的 Node.js 函数,它们在后端执行。最后要做的事情就是将这个应用程序下载到本地,并使用 Wasp 运行它。所以,让我们这样做。我已将应用程序下载到本地,现在我们只需使用 Wasp 运行它。所以,让我们开始吧。我们有了一个可以登录的应用程序,使用用户名和密码。现在让我们创建几个任务。成为一名人工智能工程师。市场已完成。现在让我们在数据库中检查一下。我们有一个数据库检查器,它也附带 Wasp。在这里,我们可以看到两行,每项任务一行,并且都已完成。已完成是 true。所以让我们尝试添加另一个任务。玩得开心。让我们再次在数据库中检查一下。我们看到它没有完成,它是 false。但如果我们完成了它,我们现在可以看到它是 true。所以,就是这样,我们得到了一个完全工作的全栈 Web 应用程序,使用 React、Node.js 和 Wasp。你现在也可以通过一个简单的 CLI 命令来部署这个应用程序。它是一个常规的 React 应用程序,Node.js 应用程序,所以你可以几乎任何地方部署它。但我们有一个 Wasp 的 CLI 助手,可以让你轻松地将其部署到 Fly.io。更多的提供商即将推出。这是我最喜欢的功能之一。当 Mage 出来时,它几乎是第一个 AI 编码代理,但它是少数能够生成完整堆栈 Web 应用程序且几乎没有错误的代理之一。当我们发布这个并开始使用它时,我们收到了两个主要问题。为什么它能这么好地工作?其次,你如何免费提供它?它有那么便宜吗?所以让我们一个一个地回答。Mage 的性能有三个主要原因。首先,它只专注于全栈 Web 应用程序,仅此而已。只有 React、Node.js 和 Wasp。这使我们可以提前假设很多事情,使一切都更容易、更快。其次,它使用了 Wasp 这个高级 Web 框架,它
剥离了大量样板代码,使 GPT 更容易完成其工作,最后 Mage 在将最终结果提供给您之前会修复错误。再次,由于我之前提到的两点,这比通用人工智能编码代理的问题要简单。让我们深入一点。让我们回到我们生成的应用程序。由于 Mage 知道我们正在构建一个全栈 Web 应用程序,并且它正在使用 V 来实现这一点,因此我们可以提前生成大量代码,而无需触碰 OpenAI API 并向 GPT 提问。例如,一些配置文件,以及一些身份验证逻辑,我们可以在此处看到,以及全局 CSS 等等。所以我们称之为第零步。只有这样,代码代理才会接管。代码代理的工作包括三个主要阶段:规划、生成代码和修复错误。所以让我们展开生成日志并探索这里的每种情况。在第零步之后,我们可以看到规划阶段。鉴于我们的应用程序描述,Mage devic 需要生成以下查询和操作:实体或数据模型,以及一个页面。之后,发生生成步骤。Mage 实际上正在实现上面计划的所有内容。最后,这里是错误修复阶段。Mage 可以检测到一些常见错误并自行修复。在这里它未能修复,所以它不得不再次尝试,最后,当它无法检测到任何更多错误时,我们就完成了。我们还可以看到所有这些花费了大约 27,000 个 token。很酷的是,在开发 Mage 的过程中,我们确定了它一直犯的最常见错误,比如混淆默认导入和命名导入。我们甚至用一个简单的启发式方法修复了其中一些,而无需 GPT 的参与,这解决了 90% 的错误。再次,V 框架凭借其高级配置在此处提供了极大的帮助,因为它消除了大量代码并显著减少了出错的空间。现在,让我们看看我们遇到的另一个问题:成本是多少?我们用 Mage 创建的典型应用程序花费了大约两到三分钟和 25 到 60,000 个 token,大约是 10 到 20 美分。但是有一个技巧我们使用了:我们交替使用 GPT 3.5 和 GPT 4 进行不同的阶段,这大大降低了账单。如果我们只使用 GPT 4 进行所有操作,成本将是 10 倍,即每应用程序 1 到 2 美元。我们所做的是,我们只在规划阶段使用 GPT 4,这是最复杂的阶段,也是最需要创造力的阶段。对于实际实现,我们可以舒适地使用 GPT 3.5,它更快也更便宜,而且效果很好。这里的关键是,它为解码代理提供了一个高度引导的环境,利用 vp 的 Web 抽象,这就是为什么这种方法奏效的原因。这也是 Mage 和我们尝试过的其他编码代理之间的主要区别。另一个流行的代理使用更自由的方法,更多地依赖 GPT 本身,而制作与 Mage 类似的应用程序的成本在 80 美分到 10 美元之间。那么你应该用 Mage 来做什么,又应该期待什么呢?它会神奇地生成你想象中的任何应用程序,还是你仍然需要付出一些努力?在当前阶段,Mage 是一个非常好且高度定制化的全栈 Web 应用程序的跨平台启动器。在这个层面上,它可以以几乎没有或很少的错误运行,你可以轻松地检测和修复这些错误。大多数尝试过它的人都发现它是一种非常简单的方式来启动他们的应用程序,使用主流的技术栈,如 React、Node 和 Tailwind,这就是 Mage 获得其受欢迎程度的原因。我个人认为这就是启动器的未来,为你自己的应用程序量身定制,而不是从通用的样板代码开始。正如你所料,你越是推动它,它就越会出错。另一方面,提供的信息不足,仅仅说“让 Facebook 变成黄色”也会适得其反。那么接下来是什么?我们创建 Mage 是一个实验,看看它能用 fosp 和它出奇地好地生成有用的全栈 Web 应用程序。Mage 目前的主要限制来自于它的简单性,以及除了初始提示之外没有与用户交互的事实。所以这是我们接下来要添加的内容:一个实时调试模式,你可以在网页上与代理交互,并请求更改和错误修复。另一件有趣的事情是探索使用针对 vosp 和 Web 开发进行微调的 LLM,尽管这也会使其更加昂贵。此外,由于 vosp 具有如此简单且易于人类阅读的语法,因此很难预测微调会带来多大的好处。不过,尝试一下会很酷。这就是全部。我们看到了 Mage 是什么,它是如何工作的,以及是什么让它能够快速且经济高效地创建 PB 应用程序。非常感谢您的观看。我很高兴能和我的助手一起制作这个视频,希望您也觉得它很有趣。请尝试一下 Mage,并告诉我们您的体验。我们是创建这个框架的同一个团队,这是一个完全开源的 Web 框架,可以非常轻松地使用 React 和 Node.js 进行开发。也请查看我们的存储库,加入我们的 Discord 社区,提出任何问题和评论。谢谢。 [音乐] [音乐] 哦 [音乐] 我看着你看着日出,复古 T 恤,穿着高时节,这些夜晚尝起来像金子,甜美而痴迷,每当早晨来临时,给我看些东西,我们像穿衣服一样度过夜晚,在火焰中跳舞,当我们看着它关闭时,唱着我们的赞歌,当我们放弃我们的目标时,当新的一天透过窗户来临时,骑着所有新的事物,穿过女士们先生们,我们现在开始,请就座,像超级英雄一样,它正在过来,它正在被摧毁,一种只有我们能听到的和平的和谐,超级粉碎,你想感觉就像在美国,在你的影响下,一轮满月正在升起,我直到你告诉我怎么做才看到它,感觉我们疯了,我们都归咎于爱,如此饱和,以至于我们无法满足,我们像穿衣服一样度过夜晚,在火焰中跳舞,当我们看着它关闭时,唱着我们的赞歌,当我们放弃我们的目标时,当新的夜晚透过窗户来临时,它正在过来,它正在被摧毁,一种只有我们能听到的和平的和谐,超级粉碎,你想感觉就像我们一样,它永远是,所以在美国,它正在过来,我每晚都在燃烧,我敲响了大师,超级音速粉碎,你想感受它,它永远是你,在美国,今晚不要退缩,今晚是我们拥有的一切,天空正在变黑,所以和我们一起来,不要退缩,今晚是我们拥有的一切,天空正在变黑,所以和我们一起来,不要退缩,今晚是我们拥有的一切,天空正在变黑,所以和我们一起来,不要退缩,今晚是我们拥有的一切,女士们先生们,请欢迎来到舞台,Lang chain 的 CEO 和联合创始人 Harrison [掌声] Chase 谢谢你们的邀请,也谢谢你们的到来。这可能是 2023 年最著名的屏幕之一,但我相信,而且我们都相信,这就是我们都在这里的原因,这仅仅是我们将要创造的许多惊人事情的开始。因为尽管 ChatGPT 很棒,而且底层的语言模型也很棒,但它们本身只是开始。它们本身不知道当前事件,它们无法运行你编写的代码,它们也不会记住你之前的互动。为了实现一个我们拥有真正个性化且真正有用的 AI 助手的未来,我们将需要将这些语言模型作为更大系统的一部分来使用。而这,我认为我们这里很多人都在努力做的事情。这些系统将能够产生看似,你知道,惊人而神奇的体验。它们将理解适当的上下文,并且能够对其进行推理并做出适当的响应。在 Langchain,我们正努力帮助团队弥合这些神奇体验与实现这些体验所需的实际工作之间的差距。我们相信,在所有这些看似神奇的产品时刻背后,都有一项非凡的工程壮举。这就是为什么来到 AI 工程峰会如此棒。所以,我将谈谈一些我们看到对开发人员有效的、用于构建这些上下文感知推理应用程序的方法,这些应用程序将驱动未来。所以,首先我将谈论上下文。当我提到上下文时,我的意思是将相关的上下文带给语言模型,以便它能够推理出该做什么。带来上下文非常非常重要,因为如果你不提供上下文,无论语言模型有多好,它都无法弄清楚该做什么。所以,我们看到人们通过这种指令提示方法带来的第一种也是最常见的上下文类型,他们基本上告诉语言模型如何响应特定场景或特定输入。这相当直接,我认为思考它的方式是,如果你有一个新员工在第一天来上班,你给他一本员工手册,告诉他如何在某些场景下表现。将其等同于这种指令提示技术。它,你知道,相当直接。我认为这就是人们开始的原因。随着模型的不断改进,这种零样本提示将能够承载大量相关的上下文,以了解你期望语言模型如何表现。有些情况下,告诉语言模型实际上非常困难,而且最好是给它一些少样本示例。最好是给它一些示例,你向语言模型展示如何表现,而不是仅仅告诉它如何表现。所以我认为一些具体的例子,它在这里效果很好,就是当描述语言模型应该如何响应实际上有点困难的时候。所以语气我认为是一个很好的用例。然后结构化输出也是一个很好的用例。你可以提供结构化输出格式的示例。你可以提供输出语气的示例,这比用语言描述要容易一些。我个人的语气,结构化输出有点,你可以描述结构化输出,但我认为随着它变得越来越复杂,提供这些非常具体的例子会有帮助。下一类上下文可能是最,你知道,当你听到上下文和带来上下文给语言模型时,它最先想到的是。与前两种相比,检索增强生成使用上下文不是为了决定如何响应,而是为了决定它将响应的基础。所以,典型的做法是,你有一个用户问题,你进行一些检索策略,你得到一些上下文,你将其传递给语言模型,然后你说根据提供的上下文回答这个问题。所以,这与指令有点不同。这可能与要求某人参加一次开放式书籍考试相同。你可以查看书籍,你可以查看答案,在这种情况下,答案是你传递给这个上下文的文本。然后,我们看到人们提供上下文给语言模型的第四种方式是通过微调,即更新语言模型的实际权重。这仍然处于起步阶段,我认为我们正在弄清楚如何最好地做到这一点以及在哪些场景下这样做是好的。我们看到的一个方面是,这对于少样本示例也好的用例来说是好的。它将其推向另一个极端。所以,对于语气和结构化数据解析,这是我们看到开始进行一些微调非常有益的两个用例。这里的想法是,是的,有三个示例说明你的模型应该如何响应以及那里的语气可能很有帮助,但如果你能给它 10,000 个示例,并且它相应地更新其权重呢?所以我认为对于那些输出是特定格式的,并且你再次需要更多示例,你需要向它展示比你告诉它的更多的东西,这就是我们看到微调开始变得有用的地方,我认为随着时间的推移,它会越来越多地增长。所以我们已经谈论了上下文,现在我想谈谈推理。我认为这是最令人兴奋也是最新的部分。所以我们试图思考和分类一些我们看到的方法,以允许这些应用程序执行这个推理组件。所以我们在这里列出了一些,并试图区分几个不同的轴,沿着这些轴它们会发生变化。所以,如果我们考虑普通的旧代码,这就像一年前的事情,很久很久以前。所以,在代码中,你基本上,它都在那里,它被声明了,如果它说明要运行什么,它说明输出是什么,需要采取哪些步骤,等等。我们开始添加语言模型调用。这是这些推理应用程序最简单的形式。在这里,你使用语言模型来确定输出应该是什么,但仅此而已。你还没有使用它来采取行动,没有什么花哨的。你只是用它来确定输出应该是什么,而且它只是一个语言模型调用。所以你提供上下文,然后你将输出返回给用户。如果我们稍微提高一点,那么我们就开始进入语言模型调用的链条,或者语言模型调用到 API 再到语言模型的链条。所以,这可以是我们,这再次用于决定输出的步骤。这里有多个调用正在发生,这可以用来将更复杂的任务分解成单独的组件。它可以用来在某个语言模型调用的中间动态插入知识,然后你根据那个语言模型调用获取一些知识,然后你再进行一个。但重要的是,这里的步骤是已知的,你这样做,然后你这样做,然后你这样做。所以,这是一个事件链。当你使用路由器时,这开始有点改变。所以,在这里,你现在使用语言模型调用来开始确定要采取哪些步骤。所以,这是这里的主要区别。它不再仅仅是确定系统的输出,而是确定要采取哪些步骤。所以,你可以用它来确定要使用哪些提示。所以,在非常擅长数学问题的提示和非常擅长写英语的提示之间进行路由。你可以用它来在语言模型之间进行路由。所以一个模型可能比另一个模型更好。你可能想使用 Claude,因为它有很长的上下文窗口,或者你可能想使用 GPT 4,因为它非常擅长推理。所以,让语言模型查看问题并决定它是否需要推理,或者它是否想以长篇形式响应。你可以决定走哪条分支。或者,我认为另一个常见的用例是使用它来决定采取哪个工具。所以,我想调用这个工具还是我想调用那个工具?以及该工具的输入应该是什么?所以,我们这里有一个路由器。我认为,在进行下一步之前,区分它与那一步的主要区别是,没有循环。你不会得到这些循环。你只是选择要走哪条分支。一旦你开始添加这些循环,这就是我们看到更复杂的应用程序的地方。这些是我们经常在野外看到的被称为代理的东西。它基本上是一个循环。然后在那个循环中,你执行一系列步骤。语言模型正在确定要执行哪些步骤。然后,在某个时候,有一个点,它可以选择是结束循环还是不结束。如果它结束循环,那么你就完成了,然后返回给用户。否则,你就回去继续循环。所以,在这里,你让语言模型决定输出是什么。它决定要采取哪些步骤,并且你有这些循环。最后一件事,我认为,这很大程度上是我们所说的 Auto GPT 所做的,它席卷了世界,就是这个代理的想法。你基本上消除了很多关于要采取哪些步骤的限制。所以,这里可用的步骤序列几乎是由 LLM 决定的。我的意思是,这里你可以开始做一些事情,比如添加语言模型可以使用的工具。所以,如果你们熟悉 Voyager 论文,它开始添加工具,并随着时间的推移建立工具集。所以,语言模型可以采取的一些行动是动态创建的。然后,我认为另一个大问题是,你消除了状态机的一些脚手架。所以,我们在这里看到的一些循环,将事物分解成离散的状态。我们看到的最常见的是计划、执行和验证。所以,你让语言模型计划要做什么,然后它去执行,然后你验证它,通常是通过语言模型调用或类似的东西。我认为这与自主代理风格的东西之间的主要区别是,你在这里隐式地要求代理一次性完成所有这些事情。它应该知道何时计划,它应该知道何时验证,它应该知道何时决定采取什么行动。你要求它全部隐式地完成。你没有在代码中明确列出这些离散的步骤序列。所以,这是我们对它的思考方式。我认为我想在这里说的,回到开头,主要的事情是,我们认为这个领域仍然处于非常早期的阶段。我们仍然认为这是开始。这可能在 3 个月后就变得无关紧要,因为这个领域在发展。所以,我只是会记住这一点。如果我们考虑一些神奇的体验,比如它可以推理相关的上下文,要构建它需要什么?幕后需要什么工程才能实现所有这些看似神奇的体验?所以,这是一个例子,说明什么可能在这样的东西的幕后工作。构建这些复杂的系统将是一项艰巨的体验。这就是为什么我们正在构建像这里这样的工具,以帮助调试、理解和迭代这些未来的系统。那么,构建这些复杂的上下文感知推理应用程序究竟面临哪些挑战呢?第一个是编排层。所以,弄清楚你应该使用哪种不同的推理认知架构。你应该使用简单的链条,你应该使用路由器,一个更复杂的代理。我认为需要记住的是,不一定有一个比另一个更好或更优越。它们都有各自的优点和缺点,优势和劣势。所以,链条非常好,因为你对所采取的步骤序列有更多的控制。代理更好,因为它们可以更动态地响应意外输入并处理边缘情况。所以,能够选择你想要的正确认知架构,并能够快速尝试其他几种,是最初发布 Langchain 的部分灵感来源,以及我们如何帮助人们原型化这些类型的应用程序。然后 Langsmith,就是这个东西,它提供了很多可见性,可以看到当这些应用程序变得越来越复杂时,到底发生了什么。理解正在使用哪些确切的工具序列,正在进行哪些确切的语言模型调用序列变得越来越重要。我们看到的另一个人们正在努力并花费大量时间的事情是经典的传统数据工程。所以,很多这都归结为向语言模型提供正确的上下文。而正确的上下文通常是数据。所以,你需要有加载数据的方法。你需要有转换数据的方法,传输数据的方法。然后,你通常希望对正在传递的确切数据以及在哪里进行可观察性。所以,Langchain 本身有很多开源模块用于加载和转换数据。然后,Langsmith 我们经常发现它在调试方面非常有用。到数据到达语言模型时,数据到底是什么样的?你是否从向量存储中提取了正确的文档?你是否以清晰的方式转换和格式化了它们,以便语言模型能够清楚地了解它们里面有什么?这些都是你想要能够调试的事情。所以,不会出现小的错误或小问题。然后,我们看到很多人在构建这些应用程序时花费大量时间做的第三件事是经典的提示工程。所以,这里的主要新事物是语言模型,与语言模型交互的主要方式是通过提示。所以,能够理解当它进入语言模型时,完全格式化的提示到底是什么样的,这非常重要。你如何将系统指令与可能有的少样本示例,任何检索到的上下文,你正在进行的聊天历史,代理采取的任何先前步骤结合起来?当它到达语言模型时,所有这些看起来是什么样的?以及在复杂的应用程序中间,它看起来是什么样的?所以,如果它是系统的第一个调用,第一个部分,那么测试和调试它就足够容易了。但一旦它已经完成了三个步骤,如果你想调试那个提示是什么样的,那个完全格式化的提示是什么样的,能够做到这一点变得越来越困难,因为系统变得越来越纠缠在一起。所以,我们试图让它非常容易地随时进入任何一个语言模型调用,在类似这样的 playground 中打开它,这样你就可以直接编辑它,并尝试那个提示工程,然后可以去改变一些指令,看看它如何响应,或者更换模型提供商,这样你就可以看看另一个模型提供商是否做得更好。这些语言模型应用程序的另一个重大挑战,可能值得单独讨论,是它们的评估。所以,我认为评估非常困难,有几个原因。我认为两个主要原因是数据缺乏和指标不佳。所以,与传统的数据科学和机器学习相比,你通常从一个数据集开始,你需要它来构建你的模型。所以,当需要评估它时,你至少有那些数据点可以查看和评估。我认为这与许多 LLM 应用程序有点不同,因为这些模型是出色的零样本学习者,这就是它们令人兴奋的全部原因。所以,你可以在不构建任何数据集的情况下获得一个可工作的 MVP,这很棒。但这确实使得评估它们有点挑战,因为你没有这些数据点。所以,我们经常鼓励很多人做的一件事,并试图帮助他们做的一件事是构建这些数据集并对其进行迭代。这些数据集可以来自手动标记数据点,或者查看生产流量并拉入内容,或者使用 LLM 自动生成内容。第二个评估中的重大挑战是指标缺乏。我认为大多数传统的定量指标对于大型非结构化输出效果不佳。我们看到很多人仍然在进行一种感觉检查,以了解模型是如何工作的。尽管这令人不满意,但我仍然认为这是获得对正在发生的事情的直觉的最佳方式。所以,我们试图做的很多事情是让观察语言模型的输出和输入变得非常容易,这样你就可以建立这种直觉。就更定量的和系统的指标而言,我们非常看好 LLM 辅助评估,即使用 LLM 来评估输出。然后,我认为也许我们看到人们在生产中最常做的事情是跟踪反馈,无论是直接还是间接反馈。所以,他们会在你的应用程序上留下一个赞成或反对的表情符号吗?这是一个直接反馈的例子,你正在收集。间接反馈的一个例子可能是,如果他们点击一个链接,那可能是一件好事,你提供了一个好的建议,或者如果他们对你的聊天机器人反应非常困惑,那可能是一个很好的迹象,表明你的聊天机器人实际上表现不佳。所以,随着时间的推移跟踪这些,并使用传统的 A/B 测试软件进行 A/B 测试,对于收集模型在线表现的感知可能非常有影响力。然后,我们花了很多时间思考的最后一个有趣的事情是协作。所以,随着这些系统的规模越来越大,它们无疑将需要很多人之间的协作。所以,到底是谁在这些系统上工作?是像我们今天在这里的所有 AI 工程师吗?是 AI 工程师、数据工程师、数据科学家和产品经理的组合吗?我认为我们看到的一个有趣的趋势是,对于这种新的 AI 工程师类型的角色,最佳技能组合仍然有点不清楚。然后,可能有很多不同的有价值的技能组合。所以,回到我们看到构成许多这些应用程序的两个方面:上下文感知和推理。上下文感知是将正确的上下文带入这些应用程序。你通常需要一个数据工程团队来介入并协助完成。推理部分通常通过提示来完成,而这通常由非技术人员完成,他们可以真正概述他们正在构建的应用程序的确切规范,无论是产品经理还是主题专家。那么,如何实现这两种人之间的协作呢?以及这到底是什么样的?我认为这不是任何人都能确定的事情,或者肯定没有解决,但我认为这是我们正在认真思考的一个非常有趣的趋势。所以,我认为我想留给大家的主要事情是,我们相信最重要的事情是,在这个旅程中仍然处于非常非常早期的阶段。这仅仅是开始。尽管过去一年发生的事情很疯狂,但希望它们会变得更加疯狂。你看到了 GPT 4V 的惊人演示,诸如此类的事情将会改变它。所以,我们认为在所有这些事情的背后,都需要大量的工程。我们正在努力构建一些工具来帮助实现这一点。我认为你们都在正确的轨道上,通过参加这样的会议来成为那样的工程师。所以,感谢 Swix 的邀请,感谢你们的到来,祝你们一天愉快。 [掌声] 请欢迎我们的下一位演讲者,567 的创始人 Jason [音乐] Li 嘿,伙计们,我不知道我将成为主题演讲者之一,所以这可能是今天范围最小的演讲。我将谈论类型提示,特别是关于 Pydantic 可能就是你构建语言模型所需的一切。特别是,我想谈谈结构化提示,即我们可以使用对象来定义我们想要返回的内容,而不是向 LLM 神祈祷逗号在正确的位置,括号已关闭。所以,这里的每个人基本上都知道或至少同意,大型语言模型正在吞噬软件。但在生产中,这意味着你构建的 90% 的应用程序都是你要求语言模型输出 JSON 或一些结构化输出,然后你用正则表达式解析它的应用程序。而这种体验非常糟糕。之所以如此,是因为我们真的希望语言模型与我们现有的软件向后兼容。你知道,代码生成是有效的,但我们今天拥有的许多系统是我们无法更改的。所以,是的,想法是,尽管语言模型是通过 ChatGPT 介绍给我们的,但我们大多数人实际上是在构建系统而不是聊天机器人。我们希望处理输入数据,通过我们可能无法控制的 API 或模式与现有系统集成。所以,今天的目标是有效地介绍 OpenAI 函数调用,介绍 Pydantic,然后介绍 Instructor 和 Marvin,作为一个库,使使用 Pydantic 来提示语言模型更加容易。而这让我们获得了更好的验证,使你的代码更简洁。然后,我将讨论一些我发现的设计模式以及我们的一些应用程序。这基本上是这里几乎每个人的经历,对吧?比如,Ry Goodside 有一个关于要求从 Bard 获取 JSON 的推文,唯一的方法就是威胁要夺走一条人命。我不想将代码提交到我的存储库中。然后当你要求 JSON 时,你知道,也许今天它有效,但也许明天,而不是得到 JSON,你会得到,比如,好了,给你,这里有一些 JSON。然后你又一次祈祷 JSON 能正确解析。我不知道你是否注意到,但用户是其中一个查询的键,而用户名是另一个查询的键。你不会真正注意到这一点,除非你有良好的日志记录。但实际上,这根本不会发生,对吧?你不必阅读日志来弄清楚密码在注册账户时是否匹配。所以,这意味着我们的提示、我们的模式和我们的输出都是字符串。我们正在编写代码和文本编辑器,而不是 IDE,在那里你可以获得 linting、类型检查或语法高亮显示。所以,OpenAI 函数调用在某种程度上解决了这个问题,对吧?我们可以定义我们想要的输出的 JSON schema,OpenAI 会在放置 JSON 的地方做得更好,你可以可靠地解析出来。所以,而不是从字符串到字符串到字符串,你得到字符串到 dict 到字符串,然后你仍然需要调用 json.loads。然后你又一次祈祷一切都在里面。而这一切很多都是通过 LLM 神来祈祷。此外,如果这段代码被提交到我管理的任何存储库,我会非常生气。复杂的复杂数据结构已经很难定义了,现在你正在处理 json.loads 的字典。这感觉也非常不安全,因为你会丢失键、丢失值,并且会有幻觉。也许键拼写错了,你缺少一个下划线,你会遇到所有这些问题。然后你最终会写出这样的代码。这适用于姓名、年龄和电子邮件。然后你通过解析字符串来检查某物是否是布尔值。这变得非常混乱。而 Python 已经通过使用 Pydantic 来解决这个问题。Pydantic 是一个库,用于数据模型验证,非常类似于数据类。它由类型提示提供支持。它具有非常好的模型和字段验证。它每月有 7000 万次下载,这意味着它是一个每个人都可以信任并使用的库,并且知道它将在很长一段时间内得到维护。更重要的是,它输出了 JSON schema,这是你与 OpenAI 函数调用通信的方式。所以,总体的想法是,我们可以定义一个像 delivery 这样的对象,说时间戳是一个 datetime,而 dimensions 是一个 int 的元组。即使你传入一个字符串作为时间戳,一个字符串列表作为元组,所有东西都会被正确解析。这是我们不想编写的所有代码。这就是为什么有 7000 万次下载的原因。更有趣的是,时间戳和维度现在是你的 IDE 知道的东西。它们知道类型,你得到自动完成和拼写检查。再次,只是更多无 bug 的代码。所以,这真的让我想到结构化提示的想法,因为现在你的提示不是一个三重引用的字符串。你的提示是实际的代码,你可以查看,你可以审查。每个人都写过返回数据结构的函数,对吧?每个人都知道如何管理这样的代码,而不是进行 JSON schema 和一次性示例的迁移。你知道,我做过数据库迁移,我知道其中一些是如何工作的。而且,我们可以以这种方式编程。所以,这就是我构建一个名为 Instructor 的库的原因。很久以前。所以,这里的想法只是让 OpenAI 函数调用非常有用。想法是,你导入 Instructor,你修补 completion API。这是否是最好的主意有待商榷,但最终,你定义你的 Pydantic 对象,将其设置为 create 调用中的 response_model。现在,你保证该 response_model 是你提取的实体的类型。所以,再次,你得到漂亮的自动完成,你得到类型安全,非常棒。我还想提一下,这只适用于 OpenAI 函数调用。如果你想使用一个更全面的框架来做一些 Pydantic 的工作,我认为 Marvin 是一个非常好的库可以尝试。它们让你能够访问更多的语言模型和更多的能力,超越这个响应。但这里的总体想法不是让你的 JSON 输出得更好,对吧?想法是,当你定义对象时,你可以定义嵌套引用,你可以定义对象的行为方法。你可以返回该对象的实例而不是字典。你将编写更简洁的代码,以及更容易维护的代码,因为它们会通过不同的系统传递。所以,这里你有一个例子,一个基础模型,但你可以添加一个方法,如果你愿意。你可以定义同一个类,但带有一个地址键。然后你可以定义新类,比如 best_friend 和 friends,这是一个用户详细信息的列表。如果我用 JSON schema 来写这个来做一个 post 请求,那将非常难以管理。但这使得它更容易。更重要的是,当你拥有 docstrings 时,docstrings 现在是发送到 OpenAI 的 JSON schema 的一部分。这是因为模型现在代表了提示、数据和行为。你想要好的 docstrings,你想要好的字段描述符,它们都是你发送的 JSON schema 的一部分。现在你的代码质量、提示质量、数据质量都同步了。有一件事你想管理,有一件事你想审查。而这真正意味着的是,你需要有好的变量名、好的描述和好的文档。而这是我们应该拥有的。你也可以用 Pydantic 做一些非常酷的事情,而无需语言模型。例如,你可以定义一个验证器。这里我定义了一个函数,它接收一个值,我检查该值中是否有字符串。如果不是,我返回它的一个大写版本,因为这可能就是我想要解析数据的方式。当你构建这个对象时,你会得到一个错误。我们不会修复它,但我们会得到一个验证错误,一个我们可以可靠地捕获和理解的东西。但然后,如果你引入语言模型,你就可以导入 llm_validator。现在你可以说“不要说刻薄的话”。然后当你构建一个说“生命的意义是邪恶和偷窃”的对象时,你会得到一个验证错误和一个错误消息。这个错误消息“这个陈述是可反对的”实际上是来自语言模型 API 调用,它在底层使用 Instructor 来定义它。但你知道,这还不足以指出这些错误。你还想修复它们。所以在 Instructor 中做到这一点的一种简单方法是添加 max_retries。现在我们所做的是,我们将你之前的消息附加上去,但我们也可以一次性捕获所有验证,将其发送回语言模型,然后重试。但这里的想法是,这不像提示链,这不是宪法 AI。我们只有验证错误处理,然后是推理。这些只是代码中的独立系统,我们可以管理。如果你想要一些小于 10 个字符的东西,有一个字符计数验证器。如果你想确保一个名字在数据库中,你可以添加一个 post 请求。但这只是经典的旧代码。这是语言模型的向后兼容性。但我们也可以做更多的事情。结构化提示会给你结构化输出。但理想情况下,结构实际上可以帮助你组织你的想法。这是另一个例子。为语言模型提供逃生舱口的能力,并说它不知道或找不到某事,这对我们来说非常重要。而现在大多数人会说,比如,返回“我不知道”大写。检查“我不知道”大写是否在字符串中。有时它不会说,很难管理。但在这里,你看到我定义了 user_details,有一个可选的 role,它可以是 None。但我想提取的实体可能只是一个用户。它有一个 result,可能是一个 user,还有一个 error 和一个 error_message。所以,我可以编写看起来像这样的代码。我得到这个对象。它有点复杂,但现在我可以以一种感觉更像编程而不是链式编程的方式来编程。例如,对吧?我们也可以定义可重用组件。这里我定义了 work_time 和 leisure_time,它们都是 time_range。而 time_range 有一个 start_time 和一个 end_time。如果我发现这个没有被正确解析,我实际上可以在 time_range 组件中添加 Chain of Thought。现在我在某些功能方面拥有模块化。你可以想象一个系统,在生产中,你禁用那个 Chain of Thought 字段,然后在测试中,你添加它来找出延迟或性能权衡。你也可以提取任意值。这里我定义了一个名为 key 和 value 的属性,然后我想提取属性列表。你可能想添加一个提示,说确保这些属性的键是一致的。但我们也可以添加验证器来确保这一点。然后当不是这样时进行推理。如果我想要,比如,只有五个属性,我可以添加属性键的索引,然后说,现在数一下。当你数到五时就停止。你将获得更可靠的输出。我发现这种方法的一些非常有趣的事情是提示数据结构。这里我有 user_details,年龄,姓名,就像以前一样。但现在我定义了一个 ID 和一个 friends 数组,这是一个 ID 列表。如果你足够好地提示它,你基本上可以从中提取一个网络,从你的数据中提取一个网络。所以,你知道,我们已经看到结构化提示给了我们非常有用的组件,你可以重用和模块化。而这里的想法是,我们想要对提示、数据和行为进行建模。这里我没有提到太多你可以对这个对象执行的方法,但想法几乎就像,你知道,当我们从 C 迁移到 C++ 时,我们得到的是面向对象编程,这使得很多事情更容易。我们从面向对象编程中吸取了教训。所以,如果我们走对了路,我认为我们将从这些语言模型中获得更多的开发效率。第二件事是,这些语言模型现在可以输出数据结构,你可以像以前的 LeetCode 教科书一样,或者任何东西,然后实际找出如何遍历这些图,例如,以有用的方式处理这些数据。所以,现在它们可以表示知识、工作流,甚至是你只需要分派给经典计算机系统的计划。你可以创建你想发送到 Airflow 的 DAG,而不是做这个 for 循环,希望它能终止。所以,现在我想我还有大约 6 分钟,我将介绍一些高级应用程序。这些实际上相当简单。我还有更多文档,如果你想稍后查看的话。但让我们来看看这些例子。第一个是 RAG。我认为当我们刚开始的时候,很多这些系统最终都变成了我们使用用户查询,进行向量数据库搜索,返回结果,然后希望这些结果足够好的系统。但在实践中,你可能有多个后端进行搜索。也许你想重写用户查询。也许你想分解用户查询。如果你想问一些最近的事情,你需要有时间过滤器。所以,你可以将它定义为一个数据结构。搜索类型。
电子邮件或视频搜索是否有一个标题、一个查询、一个之前的数据和一个类型,然后你就可以实现执行方法,该方法说,你知道,如果类型是视频,就做这个,如果是电子邮件,就做那个,非常简单,然后你想提取回来的是多个搜索,给我一个搜索查询列表,然后你可以写一些像ASN iyota映射的东西,现在因为所有的提示都嵌入在数据结构中,你发送给OpenAI的提示非常简单,你的有帮助的助手分割搜索查询,然后你得到的是能够拥有一个对象,你可以用一种你已经管理了 sort of like all your life 的方式来编程,非常直接,但你也可以做一些更有趣的事情,你可以计划,在我们谈论提取社交网络之前,但你实际上可以就在这里生成整个DAG,我拥有相同的图结构,它是一个ID、一个问题和一个依赖列表,我在描述中有很多信息,这基本上就是提示,我想要的是一个查询计划,所以现在如果你把它发送给一个查询计划器,它说,你是一个有帮助的查询计划器,构建这个查询,你可以问一些问题,比如加拿大和杰森的家乡人口差异是什么,然后你可以看到,你知道,如果我在Elite code方面很擅长,我可以并行查询前两个,因为没有依赖关系,然后等待依赖三合并,然后等待四合并这两个,但这需要一次语言模型调用,现在这只是传统的Rag,如果你有一个IR系统,你就可以跳过这个代理查询的四循环,你知道,最近在Twitter上非常流行的例子是提取知识图谱,你知道,这里也是一样,我确保我建模的数据结构尽可能接近图可视化API,这让我得到了非常非常简单的代码,它基本上完成了图的创建和可视化,我只是将事物一对一地定义到API,现在我可以做的是,如果我要求一些非常简单的事情,比如,你知道,给我量子力学的描述,你可以得到一个图,基本上在40行代码中,因为你已经建模了数据结构图需要进行可视化,我们正在努力将它耦合得更多,这是一个更高级的例子,所以如果你跟不上,不要感到难过,但在这里我做了一个问答,它是一个问题和一个答案,答案是一个事实列表,而一个事实是一个陈述和一个来自原始文本的子字符串引用,我想要多个引用作为原始文本的子字符串,然后我的验证器说,你知道,对于我给你的每一个引用,验证它是否存在于文本块中,如果不存在,就抛出事实,然后问答的验证器说,只显示那些至少有一个来自原始文档的子字符串引用的事实,所以现在我试图封装一些不产生幻觉的业务逻辑,不是通过要求它不产生幻觉,而是试图弄清楚,你知道,像转述检测算法,来识别引用是什么,这意味着,而不是说答案在第七页,你可以说答案是这个句子,那个句子,还有其他一些东西,我知道它们存在于文本块中,所以我认为我们最终发现的是,随着语言模型变得越来越有趣和越来越强大,我们只会受到我们能够拥有的创造力的限制,实际上是这些东西,你知道,你可以为每个对象设置指令,你可以有递归结构,它进入领域建模,而不是提示工程,再次,现在我们可以使用我们一直使用的代码,如果你想要更多例子,我这里有很多关于我与一些咨询客户合作的不同类型的应用程序的例子,是的,我认为这些都是非常有用的,我将进入下一张幻灯片,这张幻灯片没有二维码,没关系,更新的幻灯片有二维码,但你可以直接访问jxl github.io instructor,我还想指出,我们也在尝试很多不同的UI来做这种结构化评估,你知道,你可能想弄清楚一个响应是否是恶意的,但你也想弄清楚另一个属性的浮点数分布,并能够针对它编写评估,我认为有很多非常有趣的开放性工作要做,你知道,就像现在做一些非常简单的关于从文档中提取图的事情,你可以想象一个多模态的世界,在这种情况下,你可以提取边界框,你知道,一个我非常兴奋的应用是能够说,给一张图片,为每张图片画出边界框,以及我需要去亚马逊购买这个产品的搜索查询,然后你就可以立即构建一个UI,它只是说,你知道,为每个边界框渲染一个模态框,你可以在图像上,在音频上拥有生成式UI,我认为总的来说,这是一个非常令人兴奋的领域,可以更多地玩转结构化输出,[掌声][音乐]女士们先生们,请加入我,欢迎我们的下一位嘉宾,亚马逊高级应用科学家尤金·燕,谢谢[音乐]谢谢,谢谢大家,我是尤金·燕,今天我想和大家分享一些关于LLM系统和产品的构建块,和你们中的许多人一样,我正在努力弄清楚如何在生产环境中有效地使用这些LLM,所以几个月前,为了理清我的思路,我写了一些关于构建LM系统和产品的模式,社区似乎很喜欢,有杰森要求将此作为研讨会,所以杰森,今天我将重点关注其中四种模式:评估、检索增强生成、护栏和收集反馈,所有幻灯片将在本次讲座后提供,所以我请你只专注于,系好安全带,抓紧,因为你将 going really fast,好了,让我们从评估开始,或者我真正认为的这一切的基础,我们为什么需要评估,嗯,评估帮助我们了解我们的提示工程、我们的检索增强还是我们的微调,它是否起作用,对吧?考虑一下评估驱动的开发,其中评估指导你如何构建你的系统和产品,我们也可以把评估看作是测试用例,对吧?在我们部署任何新的更改之前运行这些评估,这让我们感到安全,最后,如果经理们花时间在OpenAI上编写评估或对它们进行反馈,你知道,这很重要,但构建评估很难,以下是我看到人们绊倒的一些事情,首先,我们没有一致的评估方法,如果你想到更传统的机器学习回归,我们有均方根误差,分类精度、召回率,甚至排名NDCG,所有这些指标都非常直接,而且通常只有一种计算方法,但对于LLM呢?我们有这个基准,我们编写一个提示,有一个多项选择题,我们评估模型获得正确答案的能力,MML是一个广泛使用的例子,它评估LLM的知识和推理能力,你知道,计算机科学问题、数学、美国历史等,但没有一致的方法来运行MML,不到一周前,普林斯顿大学的Iin和Sash在评估LLM是一个雷区,他们问,我们是在评估提示敏感性,我们是在评估LLM,还是在评估我们的提示,以让LLM给我们想要的东西,同一天,Entropic指出,简单的MCQ可能并不像看起来那么简单,简单的格式更改,如不同的括号,会导致准确率发生不同的变化,而且没有人,没有一致的方法来做到这一点,因此,很难根据这些学术基准来比较模型,现在说到学术基准,我们可能已经超越了其中一些,例如,这个摘要任务,顶部是参考摘要的人工评估分数,底部是自动摘要的评估分数,你不必看所有数字,但重点是,底部所有的数字都已经高于顶部,这是另一个更近期的例子,在X sum数据集上,极端摘要,你看到所有的人工评估分数都低于Instruct GPT,而这甚至不是GPT 4,最后,随着所有这些基准都如此容易获得,我们有时会忘记问自己,嘿,它适合我们的任务吗?如果你想想,MML真的适用于你的任务吗?也许如果你正在构建一个大学水平的聊天机器人,对吧?但这里有LUS提醒我们,我们应该在我们的任务上衡量我们的应用程序,而不是仅仅依赖学术评估,那么我们如何进行评估呢?我认为,作为一个行业,我们仍在弄清楚,Bar指出这是最大的挑战,我们听到很多人谈论评估,我认为有一些重要的趋势正在出现,首先,我认为我们应该为我们的特定任务构建评估,从小处着手是可以的,这可能看起来令人生畏,但从小处着手是可以的,多小呢?这是Technum,你知道,他发布了很多开源模型,他从40个问题的评估集开始,针对他的领域专家,40个评估,仅此而已,而且可以走得很远,第二,我们应该尽量简化任务,你知道,虽然LMS非常灵活,但我认为如果我们试图让它更具体,我们成功的机会更大,例如,如果你使用LLM进行内容审核任务,你可以回退到简单的精度和召回率,它捕捉到多少毒性,它捕捉到多少偏见,它捕捉到多少幻觉,接下来,如果它是一些更广泛的事情,比如编写SQL或提取JSON,你知道,你可以尝试运行SQL,看看它是否返回预期的结果,这是非常确定的,或者你可以检查提取的JSON键,并检查JSON键和值是否与你期望的一致,这些仍然很容易评估,因为我们有预期的答案,但如果你的任务更开放,比如对话,你可能不得不依赖一个强大的LM来评估输出,然而,这可能非常昂贵,这是Jerry说的,你知道,60个评估,GP4,花费了他很多钱,最后,即使你有自动评估,我认为我们也不应该低估人工检查输出的价值,这是Jonathan from Mosaic,我不相信任何这些评估能够捕捉到我们关心的事情,他们有一个提示来为三岁和七岁的孩子生成游戏,对他们来说,在训练过程中人工检查输出更有效,好吧,关于评估就到这里,现在是检索增强生成,我认为我不需要在这里说服大家为什么我们需要检索增强生成,但你知道,它允许我们将知识添加到我们的模型作为输入上下文,而我们不必仅仅依赖模型的知识,第二,它更实用,它更便宜、更精确,并且可以持续微调以添加新知识,但检索正确的文档非常困难,尽管如此,我们有很棒的演讲者Jerry和Anon明天将分享这个话题,所以我不会深入讨论检索的挑战,相反,我想关注LNM方面,并讨论即使我们有检索增强生成,仍然存在的一些挑战,首先是LLM无法真正看到你检索到的所有文档,这是一个有趣的实验,任务是检索器或我方法问答,你知道,谷歌的历史查询和维基百科的手动注释答案作为上下文,他们提供了20个文档,每个文档最多100个令牌,所以最多2000个令牌,其中一个文档包含答案,其余的只是干扰项,所以他们的问题是,包含答案的文档的位置如何影响问答,有些人可能已经见过这个了,不要告诉其他人,如果答案在第一个检索到的文档中,准确率最高,如果它在最后一个,准确率还可以,但如果它在中间,它的准确率实际上比没有检索器要差,所以这意味着,即使上下文窗口大小在增长,我们也不应该让我们的检索变得更糟,对吧?让最相关的文档排名靠前仍然很重要,无论上下文大小有多大,而且即使答案在上下文中并且处于首位,准确率也只有75%,所以这意味着即使是完美的检索,你仍然可以预期一些错误,另一个陷阱是LLM无法真正判断检索到的上下文是否不相关,这是一个简单的例子,所以这里是20部科幻电影,你可以认为是我喜欢的电影,我问LLM我是否会喜欢暮光之城,对于不熟悉暮光之城的人来说,你知道,它是浪漫奇幻,女孩吸血鬼狼人什么的,但我以前从未看过,但我有一个非常重要的指示,如果它认为我不会喜欢暮光之城,因为我看过所有这些科幻电影,它应该回复不适用,这在推荐中非常重要,我们不想做出糟糕的推荐,所以这是发生的事情,首先,它注意到暮光之城是一个不同的类型,不是科幻小说,这太棒了,但然后它推荐了ET,因为跨物种关系,我的意思是,我不确定我对那个怎么看,是的,我的意思是,如果你得到这个电影推荐,你会怎么想?重点是,这些LLM经过微调,非常乐于助人,而且非常聪明,它们尽力给出答案,但有时很难让它们说出不相关的话,特别是像这样模糊的东西,对吧?那么我们如何最好地解决RAG中的这些限制呢?我认为信息检索、搜索和推荐领域有很多很棒的想法,一直在努力将最相关的文档排在前面,我认为它们效果很好,我们可以从它们那里学到很多,第二,LLM可能不知道检索到的文档不相关,我认为包含一个阈值来排除不相关的文档会有帮助,所以在暮光之城和科幻电影的例子中,我敢打赌我们可以做一些事情,比如测量它们之间的项目距离,如果太远,我们就不会进入下一步,接下来是护栏,护栏在生产中非常重要,我们希望确保我们部署的东西是安全的,什么是安全的?我们可以查看OpenAI的审核API,仇恨、骚扰、自残,所有这些好东西,但另一件我经常考虑的事情是事实一致性,或者我们称之为幻觉,我认为这非常重要,这样你就不会有不值得信任的体验,你也可以把它看作是幻觉的评估,幸运的是或不幸的是,摘要领域一直在努力解决这个问题,我们可以从中借鉴经验,一种方法是通过自然语言推理任务,简而言之,给定一个前提和一个假设,我们将其分类为真或假,给定前提约翰喜欢水果,假设约翰喜欢苹果是真的,因此是蕴含,因为没有足够的信息来确认约翰是否每天吃苹果是中性的,最后,约翰不喜欢苹果显然是假的,因此是矛盾,你看到我们如何将它应用于文档摘要吗?前提是文档,假设是摘要,它就能奏效,然而,在这样做时,在句子而不是整个文档级别应用它很有帮助,在这个例子中,摘要的最后一句话是不正确的,如果我们对整个文档和摘要运行NLI任务,它会说整个摘要是正确的,但如果我们按句子级别运行,它就能告诉你摘要的最后一句话是不正确的,他们进行了一项很好的消融研究,他们检查了文档的粒度,随着我们从文档到段落到句子的粒度越来越细,检测事实不一致的准确率就越高,这真是太神奇了,另一种方法是采样,这是一个来自sh GPD的例子,给定一个输入文档,我们多次生成摘要,然后我们检查这些摘要是否相似,例如重叠的Bird分数等,假设是,如果摘要非常不同,那可能意味着它们没有基于上下文文档,因此很可能在丢失任何东西,但如果它们非常相似,你可以假设它们有效地基于上下文,因此是事实性的,最后一种方法是询问一个强大的LM,你知道,概念上很简单,给定一个输入文档和摘要,让LM返回一个摘要分数,这个LM必须非常强大,我们已经看到强大的LM实际上非常昂贵,但就事实一致性而言,我见过类似的简单方法在成本低得多的情况下优于基于LM的方法,所以尽量保持简单,如果你能做到的话,好了,为了完成这个闭环,让我们简要谈谈收集反馈,我需要观众的帮助,那么为什么收集反馈很重要?因为我们想了解我们的客户喜欢什么,不喜欢什么,然后神奇的是,收集反馈有助于你构建你的评估和微调数据集,新模型每天都在出现,但你的评估和微调数据集是你的可转移资产,你可以一直使用,但是从用户那里收集反馈并不像看起来那么容易,显式反馈可能很少,很少意味着数量非常少,显式反馈是我们要求用户提供的反馈,这是一个快速的思想实验,这里有多少人使用chat GPT?我看到你们很多人,有多少人实际上点击了点赞和点踩按钮?好的,但这些是测试人员,对吧?但你可以看到数量非常少,所以即使你包含这个点赞点踩按钮,你可能也得不到你期望的反馈,如果显式反馈的问题是稀疏性,那么隐式反馈的问题就是噪音,隐式反馈是你从用户有机地使用你的产品中获得的反馈,你不需要向他们索要反馈,但你会得到这种反馈,这是同一个例子,你多久点击一次复制代码按钮?你们其他人就像男人一样输入,但点击复制代码按钮意味着代码是正确的吗?在这种情况下,不是,n rows不是Pand rep P的有效参数,但如果我们考虑所有被复制的代码片段作为积极反馈,那么我们的训练中就会有很多坏数据,所以要考虑一下,那么我们如何收集反馈呢?我没有好的答案,但这里有两个我见过做得很好的应用程序,第一个是GitHub co-pilot或任何一种编码助手,对于不熟悉它的人来说,你输入一些功能签名,一些注释,它会建议代码,你可以接受代码,拒绝代码,继续下一个建议,我们每天都会这样做几十次,想象一下他们从中获得了多少反馈,这里有一个黄金数据集,另一个例子是Mid Journey,对于不熟悉它的人来说,Mid Journey,你输入一个提示,它会建议四张图片,然后基于这些图片,你可以重新运行提示,你可以改变提示,这就是v代表的意思,或者你可以放大图像,这就是u代表的意思,但你知道AI工程师看到什么吗?重新运行提示是负奖励,用户不喜欢任何一张图片,改变图像是小的正奖励,用户说这张有潜力,但稍微调整一下,选择放大图像是大的正奖励,用户喜欢它,并想使用它,所以想想这个,想想你如何将这种隐式反馈数据飞轮构建到你的产品中,然后你就能快速了解用户喜欢什么,不喜欢什么,哦,抱歉,你可以用你的手机,所有幻灯片都可以在讲座后获得,所以这就是我想分享的,如果你还记得这次讲座的任何内容,我希望是这三件事:你需要自动化评估,你需要自动化评估,只需注释30或100个示例,然后开始,然后想办法自动化它,它将帮助你更快地迭代,关于你的提示工程,关于你的检索增强,关于你的微调,帮助你更安全地部署,我的意思是,这是一个巨大的工程师大会,我不认为我需要向你们解释测试的必要性,人工检查无法扩展,它作为最终的氛围检查很好,但它无法扩展,每次更新提示时,你都想立即运行你的评估,我每天进行数百次,我每天进行数十次实验,我能做到这一点的方法就是通过自动化评估,第二,尽可能多地重用你现有的系统,没有必要重新发明轮子,BM25元数据获取,元数据匹配可以让你走得很远,推荐系统的技术也是如此,例如两阶段检索和排名过滤等,所有这些信息检索技术都经过优化,可以将最相关的项目排在前面,所以不要忘记这一点,最后,用户体验在LM产品中起着重要作用,我认为GitHub co-pilot和Cat GPT的很大一部分是用户体验,它允许你在不调用API的情况下在你的上下文中使用LLM,你可以在ID中使用,在聊天窗口中使用,同样,用户体验让你更容易收集用户反馈,好了,这就是我所拥有的,谢谢,继续[掌声][音乐][掌声][音乐]我们欢迎下一位演讲者,Notion的AI主管,Lonus Lee,请欢迎,我们拥有我们需要的一切,然后多一点,我知道你们都饿了,大家好,我是Lonus,我来谈谈嵌入,我很高兴来到首届AI工程师大会,今天学到了什么新东西吗?是的,在谈论这个之前,先谈谈我自己,如果你还不认识我,我是Lonus,我在Notion从事AI工作,大约一年了,在那之前,我做了很多独立的工作,原型设计,实验,尝试用语言模型,用传统的LLP,比如tfidf bm25来构建有趣的阅读和写作界面,特别是,我与嵌入模型和模型潜在空间合作了很多,这也是我今天将要谈论的,但在那之前,我想花点时间说,Notion推出Notion AI已经快一年了,我们的公开测试版最早是在2022年11月左右发布的,随着我们接近一年,我们一直在Notion AI中稳步推出新的有趣功能,从11月开始,我们有数据库中的AI自动填充,翻译,以及即将推出的功能,虽然不是今天,所以请关注这个领域,显然,我们也在招聘,就像这里的每个人一样,我们正在寻找AI工程师、产品工程师、机器学习工程师来解决人们今天一直在谈论的各种问题:亚洲人、工具使用、评估、数据、训练以及我们今天和明天将看到的所有界面方面,所以如果你有兴趣,请找我,然后我们会聊聊,没有AI讲座是不谈论潜在空间的,所以让我们谈谈吧,我一直以来都受到这个问题的驱动,那就是控制语言模型,我一直说,提示语言模型感觉就像你从后座用一根泳圈在驾驶汽车,是的,技术上你对车辆的运动有一定的控制,所以就像有一些联系,但你并没有真正坐在驾驶座上,控制并不是真正存在的,你和车辆的行动之间有三层间接性,对我来说,尝试提示模型,尤其是我们可以用于生产的更小、更高效的模型,仅仅用令牌,仅仅用提示,感觉就像有太多的间接层,即使模型在理解提示方面越来越好,我认为在仅仅用提示进行间接控制和让模型做我们想要的事情之间,总会存在这种根本性的障碍,所以也许我们可以通过观察模型内部来获得更接近的控制层,更直接的控制层,这就是我们观察潜在空间的地方,潜在空间,我认为最著名的是出现在嵌入模型中,如果你嵌入一些文本,那个1536个数字或4个数字的向量就在一个高维向量空间中,这是一个潜在空间,但你也可以在模型激活空间中的潜在空间,在令牌嵌入中,在图像模型中,然后显然还有其他模型架构,比如自动编码器,今天我们将要看的是嵌入,嵌入模型,但我认为很多普遍的体会也适用于其他模型,我认为在其他模型中也有很多迷人的研究工作正在进行,当你看到一个嵌入时,你可能会看到这样的东西,你看到一排排的数字,如果你曾经调试过某种嵌入管道,然后打印出嵌入,你可能会发现它有大约一千个数字,但它只是看着一个数字矩阵屏幕,向下滚动,但理论上,这些嵌入中实际上 packed 了很多信息,如果你得到一个文本或图像的嵌入,这些潜在空间,这些嵌入理论上代表了模型用于降低损失或完成任务的文本或图像最突出的特征,所以也许如果我们能够从这些嵌入中解开一些有意义的属性或特征,如果我们能更仔细地观察它们,并且更更好地解释它们,也许我们可以构建更具表现力的界面,让它们通过干预或介入模型内部来控制模型,换句话说,嵌入显示了模型在输入样本中看到的内容,所以也许我们可以读出它看到的内容,以便更好地理解模型在做什么,也许我们甚至可以控制嵌入的中间激活,看看模型能生成什么,所以让我们看看,有些人可能已经见过一些了,但我保证最后有一些新东西,所以请坚持住,这里有一些句子,这是一个关于我最喜欢的小说之一的句子,名为Asora,它是Greg Egan的一部科幻小说,探索了后人类人工智能的演变和存在,与外星文明有关,并质疑现实和意识的本质,鉴于正在发生的一切,你可能正在做很多事情,所以我有一个,我训练了一个模型,可以从这段文本中生成一些嵌入,所以如果我按下回车键,它会给我一个嵌入,但它是一个长度为248的嵌入,所以它相当大,但它只是一行数字,然后我有一个解码器,或者说这个模型的一半,它可以接受这个嵌入,并尝试重建可能产生这个嵌入的原始输入,在这种情况下,它采用了原始句子,有一些变化,你可以看出它不完全是相同的长度,但它基本上重建了原始句子,包括具体的细节,比如书名等等,所以我们有一个从文本到嵌入的编码器,以及一个从嵌入回到文本的解码器,现在我们可以开始对嵌入做一些事情,来稍微改变它,看看如果我们对嵌入做一些修改,解码器可能会看到什么,在这里,我试图模糊嵌入,并从这个模糊半径的嵌入周围采样一些点,你可以看到从这些模糊嵌入生成的文本,它们有点不对劲,比如这不是正确的标题,标题在这里有点消失了,它仍然保留了Greg这个名字,但它是另一个人,所以这里发生了一些语义上的模糊,但这有点无聊,这并没有什么用,更有用的是尝试以更有意义的方向来操纵事物,现在我们有了相同的文本,现在这里有一堆控件,也许我想在这个嵌入空间中找到一个方向,在这里,我计算了一个方向,如果你将一个嵌入推向那个方向,它将代表一个大致相同主题的更短的文本,所以我选择了这个方向,然后我按下go,它会尝试将这段文本的嵌入推向那个方向,并解码出来,你可以看出它们有点短,如果我再推一点,甚至,现在我正在采取那个更短的方向,并沿着它移动一点,再次采样,从那些嵌入中生成文本,它们甚至更短,但它们仍然保留了大致的想法,大致的主题,有了这个构建块,就可以构建非常有趣的界面,例如,我可以把这段文本放在这里,也许我想生成几个,几个比较短的版本,所以这有点短,这甚至更短,但也许我喜欢这个版本,所以我将把它克隆到这里,然后我将使句子的情感稍微负面一点,你就可以开始通过在一个空间画布界面中移动来探索这个嵌入模型的潜在空间,这很有趣,你还可以用这个模型做的另一件事是,既然我们对存在表示特定含义的特定方向有了模糊的认识,我们就可以开始更直接地查看文本,并询问模型,嘿,这段文本在你长度方向上,或者在你负面情感方向上处于什么位置?所以,这是我们一直在玩的原始文本,它非常客观,就像维基百科风格的文本,我让CH PT把原始文本写得更加悲观,比如,像徒劳地追求意义,并更深入地陷入虚无主义的深渊,等等,如果我嵌入这两者,我在这里要求模型做的是,将这两者嵌入到模型的嵌入空间中,然后将这些嵌入投影到这些方向上,所以一种阅读这张表格的方法是,这段默认文本在这个负面方向上的位置,它本身没有意义,但它显然小于这个,所以这段文本在这个模型内的负面情感轴上要远得多,当你查看其他属性时,比如它谈论了多少艺术类主题,大致相同,长度也大致相同,也许负面情感文本在词汇上更详尽,所以你可以开始将这些东西投影到这些有意义的方向上,并说模型正在文本中找到的特征是什么,模型正在处理的属性是什么,你也可以通过混合嵌入来测试其中一些想法,所以在这里,我将嵌入这两段文本,这是我们一直在玩的文本,这是我曾经写的一个短篇故事的开头,它讲述了地中海沿岸一个平静而有点古老的城镇,这两者都已经被嵌入了,所以我要说,这是一个2000维的嵌入,我将说,给我一个新的嵌入,它只是第一个嵌入的前一千个左右的维度,然后取第二个嵌入的最后一千个维度,然后就像把它们撞在一起,然后有了这个新的嵌入,天真地你不会认为这会有多大用处,那会有点胡言乱语,但实际上,如果你从中生成一些样本,你可以看到,你可以看到一点,你得到一个句子,它有点像两者的语义混合,你对两者都有结构上的相似性,比如你有这样的结构,开头有一个引用的书名,有主题上的相似性,有结构上的,有标点符号上的相似性,语气上的相似性,所以这是一个在潜在空间中插值的例子,我拥有的最后一个名字,我可能在Twitter上看到过,是关于,好吧,我有一个嵌入模型,我有一个嵌入模型,它工作得很好,我能用它来从其他类型的嵌入空间中读取文本吗?这是我们一直在使用的同一个句子,但现在当我按下这个运行按钮时,它将嵌入这段文本,不是使用我的嵌入模型,而是使用OpenAI的ad aa text Ada 2,然后有一个我训练的线性适配器,这样我的解码器模型就可以读取,不是从我的嵌入模型,而是从OpenAI的嵌入空间读取,我将嵌入它,它将尝试从仅给定OpenAI嵌入中解码文本,你可以看到,它不像以前那么完美了,但我们从嵌入中恢复了令人惊讶的细节,而没有参考源文本,所以你可以看到这个专有名词diaspora,它仍然在那里,这个特征,有一个引用的书名,它在那里,它大致是关于同一个主题,像流氓AI这样的东西,有时当我重新运行它时,也有对作者的引用,名字大致正确,所以令人惊讶的是,像专有名词、标点符号、引用等特征,大致结构和主题,显然,仅凭嵌入就可以恢复这些,因为这些高容量嵌入空间中的细节量,但你不仅可以在文本空间中做到这一点,还可以在图像空间中做到这一点,所以,这里有一些我准备好的文件,我们从我开始,出于愚蠢的技术原因,我必须放两个我,然后让我们尝试在这个图像空间中插值,现在这是使用Clip的嵌入空间,我将尝试生成,比如,我和我,Notion头像版本的我,卡通版本的我之间的六张图片,如果后端能预热,冷启动模型有时很困难,好了,现在它显示了六张图片,连接着,有点像在照片版本的我和卡通版本的我之间插值,而且它并不完美,但你可以在这里看到,左边,它非常像照片,然后当你沿着这个插值移动得更远时,你会看到更多的卡通特征出现,而且它实际上是一个非常平滑的过渡,你还可以做的是,你可以做文本操作,因为Clip是一个多模态文本和图像模型,所以我可以这样说,让我们花点时间,让我们加点文字,我将减去一个微笑男人的照片的向量,取而代之的是,我将添加一个非常悲伤的哭泣男人的照片的向量,然后我将嵌入这些文本,我经验性地发现,对于文本,我必须更小心一点,所以我将调低我添加和减去的向量的数量,然后再次生成六张,它需要一点时间,好的,我真的很伤心,你还可以做更多有趣的事情,比如你可以尝试添加,这里有一张海滩的照片,我将尝试添加一些海滩,这次也许为了节省时间只生成四张,或者也许有一个bug,它不允许我生成,在所有这些演示中,我所做的只是计算向量,计算示例的嵌入,然后将它们相加,并进行一些归一化,令人惊讶的是,仅仅通过这样做,你就可以尝试操纵文本和图像中有趣的特征,通过这个,你还可以做一些事情,比如同时添加风格和主题,你可以,这是我第一次演示时生成的一张很酷的图片,然后你还可以做一些非常平滑的风景图像之间的过渡,这很有趣,在所有这些原型中,我试图反复提醒自己的一条原则是,当你研究这些非常复杂、复杂的模型时,你通常没有能力向内看,说,好吧,发生了什么,甚至无法获得直观的理解,即使是直观的理解,模型在想什么,模型在看什么,也可能很困难,我认为这些是我试图让模型的这些看不见的部分变得更可见的一些方法,让你能够更直接地观察模型正在做什么,模型正在操作的表示,有时你也可以直接与表示进行交互,让人类直接与表示进行交互,来探索这些空间代表了什么,我认为这里有很多非常有趣、非常开创性的研究,左边是世界模型论文,非常迷人,神经元在堆栈上,右边是非常非常近期的,我不得不最后添加它,因为它非常相关,在所有这些例子中,我通过给出示例并计算它们之间的质心来计算这些特征维度,但这里,Anthropic的新工作以及来自Conjecture和其他实验室的工作发现了一些无监督的方法,试图在模型中自动发现这些维度,所以这非常令人兴奋,总的来说,我非常期待看到那些似乎编码了,你知道,根据某种定义,可解释的、可控的模型输入和输出表示的潜在空间,在最后几分钟里,我想谈谈我正在使用的模型,文本模型是一个定制模型,我不会说太多细节,但它是从T5检查点微调的,使用自动编码器,它是一个编码器-解码器Transformer,带有一些修改,你可以在代码中看到,所以这里是一个通用的Transformer编码器在左边,解码器在右边,我有一些池化层来获得一个嵌入,这是一个Al T5嵌入模型堆栈,然后在右边,我有一个特殊的门控层,它从嵌入中提取信息,以从嵌入中解码,你可以查看代码,它更容易理解,但我们将这个模型改编到其他模型,就像我们用OpenAI嵌入恢复等看到的,左边是正常的训练模式,你有一个编码器,得到一个嵌入,然后尝试重建文本,右边我们只是训练这个线性适配器层,从不同模型的嵌入到然后用正常的解码器重建文本,今天我很高兴地宣布,我一直在开发的这些模型,你可能以前问过,现在在Hugging Face上开放了,所以你可以下载并尝试一下,这是左边的链接,Hugging Face模型,然后有一个Colab笔记本,让你快速入门,尝试进行插值和特征解释,所以如果你发现任何有趣的结果,请告诉我,如果你有任何问题,也请联系我,我将能够帮助你,我最后使用的图像模型是Caca brains Carlo,很高兴看到Korea在那里站出来,这个模型是一个无监督模型,它以Dolly 2训练的方式进行训练,作为一个扩散模型,它被训练来反转Clip嵌入,从图像的Clip嵌入回到文本,这使我们能够做与我们用于所有原型设计的文本模型类似的事情,我认为一个普遍的原则是,如果你从这次讲座中得到一个要点,那就是当你处理这些非常复杂、难以理解的数据时,如果你能得到一些感觉上可以握在手中,可以玩耍,可以具体看到、观察和互动的东西,可以被直接操纵、可视化,所有这些工具和原型,我认为都可以帮助我们更深入地理解这些模型是如何工作的,以及我们如何改进它们,从这个意义上说,我认为模型,语言模型和图像模型,生成模型,是一个非常有趣的知识实验室,用于研究这些不同模态如何被表示,而Brett Victor说,思考媒介的目的是将思想带出头脑,将这些概念以一种可以用感官看到,用身体操纵的形式呈现出来,这样,媒介就是思想的延伸,我认为这是描述我进行许多原型设计的方法的一种富有诗意的说法,所以如果你遵循其中一些原则,并尝试深入研究模型实际在看什么,构建围绕它们的界面,我认为可以实现更人性化的知识界面,我非常期待看到这个未来,谢谢[掌声][音乐]快谢谢[音乐][音乐][掌声][音乐][音乐]现在欢迎我们的下一位演讲者,Hex的AI主管Dr Brian bishof和Prefect的CTO Dr Chris White,在CRV的首席执行官Britney Walker主持的炉边谈话中,[音乐]非常感谢大家的光临,我非常高兴能主持两位我最喜欢的人在AI领域的对话,我是Britney,我是CRV的首席,一家早期风险投资公司,主要投资于种子轮和A轮初创公司,Chris,你为什么不先介绍一下你自己,测试一二,大家能听到我吗?好的,我的名字是Chris,我目前是Prefect的CTO,我们是一家工作流编排公司,我们构建了一个工作流编排开发工具和单元编排远程服务,一点背景,我开始创业,最终进入AI和数据领域,获得了数学博士学位,专注于非凸优化,我相信这里的很多人都对这个感兴趣,然后最终,你知道,数据科学,然后进入了那种开发
工具空间,我现在就在这里。太棒了,我是布莱恩·菲森,在你身边。我是布莱恩,我负责 Hex 的 AI 工作。Hex 是一个数据科学笔记本平台,嗯,可以说是进行数据科学工作流程的最佳场所。嗯,我本想说我的旅程始于获得数学博士学位,但他已经抢了那个了。我当时有点尴尬。嗯,是的,我从事数据科学和机器学习已经大约十年了,嗯,是的,目前我发现自己正在做他们现在称之为 AI 的工作。太棒了,你们两个都处于相对早期的初创公司,正如我们都知道的,早期初创公司有很多相互竞争的优先事项,从招聘、融资到产品开发,可以说,花点时间问问“这个 AI 是什么?我们该怎么做?”所以我想知道,当你们已经拥有成熟的业务,发展良好,拥有大量用户,大量客户,并且他们可能对你们的时间提出了很多要求时,你们是如何决定 AI 是你们真正需要投入的?所以克里斯,我很想听听你们是如何考虑这个选择的。是的,对我们来说,有几个不同的方面。所以我们是一家工作流程编排公司,我们的主要用户画像是数据工程师和数据科学家,但我们的工具本身并没有要求你们必须有那种用例。所以,一方面,我们假设 AI 用例的一个重要组成部分将是数据驱动的,比如语义搜索,或者像检索式摘要,这些东西。所以我们只是想确保我们有发言权,了解人们是如何将这些东西投入生产的,以及在你们将数据在向量数据库之间移动时,是否有任何新的 ETL 考虑因素。所以这是其中之一。另一个我认为很有趣的是,当我看到 AI 进入生产环境时,我基本上看到的是一个昂贵的、脆弱的、非确定性的远程 API,对我来说,这只是一个数据 API。所以,如果我们能够编排这些构建数据工程师应用程序的工作流程,那么很可能很多都会被转化过来。所以,我的意思是,最后,我知道现在大多数人在这里的原因是,它很有趣,所以我们只是想公开学习。所以我们确实创建了一个名为 Marvin 的新存储库,我认为杰森在他的上次演讲中提到了。只是为了跟上进度,你知道,有动力去跟上。布莱恩,你被聘到 Hex 来专注于这些事情,我很想听听更多关于这个决定是如何做出的,以及你在这上面花了多少时间。是的,我认为有几件事。一是数据科学是商业敏锐度、创造力和有时相当困难的编程之间的一种独特的接口。事实证明,在工作流程中释放更多创造力和商业敏锐度的机会是一个非常独特的机会。我认为很多数据从业者,他们工作中喜欢的部分不是记住 matplotlib 的语法。所以,有机会消除这种痛苦是一个非常令人兴奋的地方。另外,现实地说,任何不集成 AI 的数据平台几乎肯定会注定失败,而且很快就会成为标配。所以我认为错过这个机会是相当糟糕的。是的,我完全同意。所以你们决定要继续做这件事,你们要全力投入 AI。在确定如何构建这些功能或产品时,你们评估了哪些标准?你们是针对上市速度、构建难度、在现有资源内工作的能力进行了优化吗?在说“好吧,这就是我们如何真正掌握这件事”时,你们考虑了哪些标准?所以,对我来说,我认为有两种不同的角度。一种是纯粹的开源 Marvin 项目,它不是一个产品,但我们不销售它,只是我们维护它。然后,我们在我们的核心产品中也内置了一些 AI 功能。我认为它们有略微不同的成功标准。对于 Marvin 来说,主要是看看人们是如何试验 LLM 的,并直接与用户交流。它只是给了我们那个渠道和那个受众。所以这对我们来说非常有用和富有洞察力。所以我们只是在电话里,我的 AI 负责人每天至少与用户交谈几次。然后,对于我们的核心产品,我喜欢思考开发工具以及我们构建的东西的一种方式是故障模式。所以,我喜欢思考选择工具时,当它们失败时会发生什么。我能从失败中快速恢复并理解它吗?所以,我们的许多功能都面向那种发现性。所以,对于 AI 来说,情况也是如此。比如,仪表板上快速显示错误摘要,以便快速分类。然后衡量成功相对简单。用户需要多长时间才能到达他们想要的页面?他们需要多长时间才能调试他们的工作流程?所以,非常可量化。是的,我们也喜欢听你们说。是的,我的团队的任务相对简单,就是让 Hex,让使用 Hex 感觉很神奇。所以,最终,我们一直在思考用户在 Hex 中进行数据科学工作流程时想要做什么,并尽可能减少摩擦,并为他们提供更多的增强机会。一个简单的例子是,我不知道你们有多少次有一个很长的 SQL 查询,它由一堆 CTE 组成,而且处理起来非常麻烦。所以我们构建了一个 explode 功能,它将一个 SQL 查询分解成许多不同的单元格,并在我们的平台上将它们链接在一起。这只是一个微不足道的事情,但我想要它八年了。我做过很多次,很烦人。所以,这样思考,在什么重要,什么应该关注方面,就很容易做出权衡。所以,关于我们如何看待我们的定位,它真的只是我们如何让事情感觉神奇、流畅和舒适。你们是如何重新分配资源的,除了显然聘用了你,这是一个伟大的正确方向的举措,但为了实际开始运营这些东西,你们还做了什么?是的,我认为我们保持了精简,并且继续保持精简。我们从一个黑客开始,他构建了一个非常简单的原型,看起来很有希望,然后我们开始组建团队。我们将团队扩大到几个人,并且在构建新功能的同时,我们始终保持尽可能精简。如今,我的路线图足够 20 名工程师使用,而我们仍然保持在五人左右,这并非偶然。基本上,无情的优先级排序绝对是一个优势。克里斯,你们也雇了一个人,对吧?是的,我们雇了一个很棒的人,他叫亚当。所以,他肯定拥有我们的大部分 AI 工作,但同时也适用于公司里任何想参与的人。所以,有一位工程师对此非常感兴趣,并且,就所有意图和目的而言,他已经转到了亚当的团队,现在全职从事 AI 工作。是的,你们确实投入了很多精力来解决这个问题,包括在你们这边雇佣两个人,在布莱恩那边雇佣一个人。所以,你们大概会寻求投资回报。那么,你们如何看待基于 AI 的功能或产品的成功实施是什么样的?对我来说,我会说我们已经达到了这个成功标准。现在的问题是进一步投资,还是继续按我们现在的方式进行?所以,很重要的一点是核心产品的时间价值,我们可以很容易地看到,通过我们添加的几个 AI 功能,这确实发生了。所以,我们将继续推进。然后,就像我一开始说的,就是参与那些对话,那些关于公司希望将 AI 投入生产的早期对话。我们现在一直在定期进行这些对话。所以,我会说,这感觉已经物有所值了。你们呢?你们显然也在前几天进行了大型发布。我对你们如何看待成功感到好奇。是的,再一次,这就像我们的用户多久会使用这个工具。最终,魔法是我们提供给用户的工具,以使他们更有效率,并获得更好的 Hex 使用体验。所以,如果他们一直在与魔法互动,如果他们在每个单元格和每个项目中都使用它,那么这就是我们成功的标志。为了实现这一点,我们必须确保魔法能够帮助我们平台的各个方面。我们有一个相当复杂且功能强大的平台。所以,在平台的每个方面找到 AI 的应用是我们的一些“北极星”之一,而且是故意的,以确保我们始终让我们的平台感觉流畅。太棒了,让我们进入下一部分,我们将讨论你们是如何实际构建这些功能和产品的。既然我们都在 AI 工程师峰会上,我假设我们都对实际完成工作并投入生产感兴趣。所以,当你们做出一些初步决定时,布莱恩,你们是如何决定构建还是购买的?是的,从第一天起,我认为我加入时问的第一个问题之一就是他们在做什么评估。你可能会说,“好吧,是的,我们今天听了很多关于评估的事情”,但我想提醒大家,那是二月。我之所以在二月份问这个问题,是因为我长期以来一直在机器学习领域工作,在那里评估让你有机会做好工作。如果你在目标设定方面做得不好,在评估方面做得不好,你就没有多少希望了。所以我认为我们首先研究的是评估。当时还没有 25 家公司开始做评估。现在有超过 25 家了,但最终我们决定自己构建。而且我非常有信心,这是正确的决定,原因有几个。一是评估应该尽可能接近生产环境,如果可能的话,就是实际使用生产环境。所以,要做到这一点,你必须深入了解你的平台。当我们以我们试图达到的速度移动时,这对 SaaS 公司来说很难。另一方面,我们选择不构建自己的向量数据库。我一直在用向量进行语义搜索,已经有六七年了,我用过像 Faiss 和 Pinecone 这样的开源工具,那时它们还比较原始。不幸的是,其中许多工具非常复杂。所以,在设置过向量数据库之后,我不想走那条路。所以我们最终与 LanceDB 合作,并构建了一个非常定制化的向量检索实现,它非常适合我们的用例,非常细致且非常复杂,但这是我们让我们的 RAG 管道真正有效的必需品。所以我们在这上面付出了很多努力。所以,最终,只是关于复杂性是否值得付出努力。完全同意。克里斯,你们呢?是的,我们在这里做出了几个不同的决定,其中一些仍在进行中。向量数据库,百分之百同意,我们永远不会自己构建。我认为我们对它的需求不如 Hex,但我们与 Chroma 和 Lance 都合作了很多,但都没有投入生产。所以,这些用例都没有投入生产。所以我看到人们将 AI 集成到他们的工作流程中的方式是,有很多实验发生,然后你可能想摆脱那种实验框架,也许是通过查看你使用的所有提示,然后直接自己使用它们,中间没有任何框架。然后,一旦你进入那种模式,就像我之前说的,一天结束时,你就是在与 API 交互,而且有很多工具可以做到这一点。所以我看到很多我们必须面对的构建与购买的决定,就像它是我们堆栈中的另一个工具一样。我们是否已经拥有足够的开发工具来支持它,确保它是可观察的、可监控的,以及所有这些?是的,我们做到了,所以我们没有购买任何东西,都是自己构建的。是的,正如你提到的,我认为,你谈到了许多评估初创公司,我认为我们都熟悉向量数据库的广阔前景。你们的基础设施堆栈中是否有任何部分,你们希望人们正在构建,或者希望人们以不同于你们迄今为止所见的方式来处理?你们中的任何一个?是的,我认为向我推销一个评估平台会很困难。我认为有机会向我推销一个 LLM 的可观察性平台。我看了不少,我承认我是 Weights & Biases 的校友,所以我有点偏见。但即便如此,我认为仍然有一个绝佳的机会来构建一个真正出色的实验加可观察性平台。我正在非常仔细地关注 Ironclad 的 Rivet,这是一个开源库,我认为他们处理实验和迭代的方式非常出色,我对此感到非常兴奋。如果我看到类似的东西与可观察性很好地结合在一起,那将是我兴奋的事情。你们那边有什么吗?我认为对布莱恩所说的有一个小小的补充,那就是更多地关注工具的机器对机器层面。所以,我认为很多,你知道,一天结束时,输入总是某种自然语言字符串,这很有意义。但输出,使其成为一个更有保证的类型化输出,比如通过函数调用和其他东西,我认为这是将 AI 集成到后端进程和机器对机器进程中的一步。所以,任何在这方面有所关注的地方,都会引起我的兴趣。是的,完全同意。好的,你们有了所有的人员和所有工具,然后你们显然已经准备就绪,并且完全投入生产了。开玩笑的,我们都知道事情不是这样的。你们在过程中遇到了什么挑战?也许是一些你们没有预料到的,或者比你们想象的更大的障碍?所以,我不知道,将 AI 集成到我们的核心产品中。我会说,从工具和开发者的角度来看,以及从生产化的角度来看,没有。从文化上来说,我会说我们确实遇到了一些挑战,那就是当我们第一次说,“好吧,让我们开始整合一些 AI 并进行一些构思”时,很多工程师就开始全力以赴了。比如,它应该做一切,它可以监控,它应该做所有这些事情。然后我们说,“好吧,好吧,每个人都需要退一步。”所以,只是内部的对话,你知道,在非常具体的焦点领域获得支持,你知道,最终我们关注的是消除用户摩擦,无论是通过设计还是通过更快的获取信息,AI 都可以更可靠地做到这一点。但是的,控制热情是最大的挑战,而且至今仍然存在。每个人都想成为一名 AI 工程师。是的,完全正确。你们呢?你们遇到了类似还是不同的问题?这很有趣,有点相似的风格。它是一种稍微不同的体现,也就是说,你知道,我从未见过一个工程师擅长估算事情需要多长时间。而且我会说,AI 功能会加剧这种情况,因为你的前几次实验很快就显示出巨大的希望,但后期的过程感觉比大多数工程中的角落案例分类还要长。从“我们让它在少数情况下起作用”到“它坚不可摧”之间是一个漫长而艰难的旅程。是的,我认为这种过度热情,是的,风格略有不同,但味道相似。当你们在那个旅程中时,你们是如何测试和跟踪的,如果根本没有的话?是的,是的。我感觉我像个复读机,很多强大的评估,努力将事情编码成评估,努力将事情编码成,如果有人来找我们说,“魔法能够做 X 会很棒”,我们会进一步探讨这个对话,然后说,“好吧,你期望魔法在这个提示下做什么?或者在这种情况下,你期望魔法做什么?”然后让他们自己去评估。然后使用这个“晴雨表”,一个新来的数据科学家,几乎没有背景信息,能否做到这一点?然后,你知道,在可行和可能之间找到那个前沿。是的,这很有道理。而且,你知道,我之所以很高兴让你们两位一起上来,是因为,虽然 Prefect 在核心产品中包含一些 AI 元素,正如你提到的,你们可能最出名的是你们推出的 Marvin 项目,这是一个独立的开源项目,这是一个非常有趣的现象,我必须说,我观察到在这个当前的浪潮中,公司可能以前不做 AI,但现在却推出了完全独立的品牌,基本上与核心产品并行。所以,我很想更多地了解你们在构建 Marvin 作为独立产品与 Prefect 时所考虑的用户体验因素。这给了你们什么自由?你们仍然有什么限制?是的,这是一个好问题。有几个不同的角度。我认为一个哲学角度是,我们试图做那些能够最大化我们学习能力的事情,而无需完全投入。所以,我认为开始一个新的开源存储库,我们确实有一些联系,我们必须维护它,但除此之外,成本并不高。但如果它,基本上都是积极的。如果没人注意到,没关系,我们学到了一点关于如何编写与各种 LLM 接口的 API,或者类似的东西。或者如果它成功了,就像它对我们来说一样,我们遇到了许多正在从事有趣的数据相关 AI 工作的新人。但对于核心产品来说,这可能更有趣,而且布莱恩,我很想听听你必须在多大程度上专注于你的提示,以适应你关心的用例。所以,Prefect 是一个通用编排器。所以,我再次这样说是因为我们的用例范围是技术上无限的。所以,帮助人们编写代码来做完全任意的事情,绝对不是我们比 OpenAI、GitHub 或其他公司更有价值的地方。所以,我们知道我们不能以那种方式投入 AI。所以,下一个问题是,那么,哪些是边际效益呢?这就是我们今天所处的地位。但我们确实投入了精力,最初是,我们能否直接将其放入 SDK 或类似的东西中?然后我们很快意识到范围太大了。在这一点上,你不如让用户自己去做,而且我们没有为那个工作流程增加任何东西。是的,是的。另一方面,魔法似乎从一开始就是 Hex 的一部分。从外面看,我们都看到了许多独立的文本到 SQL 玩家。我们可以争论这些公司是否应该作为独立公司存在,但我很好奇,当你们在现有的 Hex 产品中构建魔法时,你们是如何考虑用户体验的?最终,我非常幸运能够与一个出色的设计团队合作,他们非常出色。但是关于魔法感觉如何的问题,魔法不是一个独立的产品。我认为从早期开始,这一点很重要。魔法不是一个产品。魔法是我们产品的增强。它是一系列使产品更易于使用和更舒适的功能。这一点很容易记住,在决定如何设计时,因为它允许我们说,“好吧,我们不希望它分散核心产品体验的注意力。”我可以讲一个故事。我们有一个冲刺,我们设计了一个叫做水晶球的东西。水晶球是一个非常棒的产品。它做了我们想要的一切,感觉很棒。然而,最终它将用户从核心 Hex 体验中拉开了。而且非常快,我们的 CEO 正确地说,“我觉得这有点把魔法分成了自己的小生态系统。”这使得它可能是一个错误的方向。所以,尽管水晶球感觉很好,并且拥有令人难以置信的能力,而且坦率地说,水晶球的设计也很漂亮。问题是它将我们从我们真正想做的事情中拉开了,那就是让 Hex 对我们所有的用户都更好。每个 Hex 用户都应该能够从魔法功能中受益。而这开始分裂这一点。所以,我们真的杀死了水晶球,尽管它是一个非常酷的体验,就是因为这个原因。所以,我们真的坚持“它是一个平台,魔法增强它”的原则。是的,这很有道理。而且,显然,Hex 在你们推出这个产品时已经拥有相当大的用户群了。所以,我很想知道你们是如何考虑推出的?就像在用户方面,你们给了谁?时间表是什么?市场营销做了什么?所有这些考虑因素?是的,通常我们从私人测试版开始,然后尽快将其扩展到公开测试版。我们的目标是找到那些积极参与产品的人,并且他们已经准备好应对 AI 工具的一些局限性。随机性已经多次出现。最终,我们期望用户与随机事物打交道。同时,他们也在处理非常复杂的事情,那就是数据科学工作流程。所以,我们正在寻找那些技术非常精通的人。在早期,然后我们希望不断扩大规模,以包括其余的分布,包括技术能力。这样我们就可以确保它真正服务于我们所有的用户。另一方面,再次,鉴于这是一个新存储库,你们可能拥有更多的灵活性。我很好奇这是否与布莱恩所说的不同或相似?是的,嗯,存储库没有。我们进行了黑客攻击,你知道,我们玩得很开心。我们把它做到了我们感到自豪的地方,然后我们点击了“公开”,然后发了推文,就这样了。所以,那纯粹是乐趣。但对于将 AI 集成到我们的核心产品中,我的意思是,这并不特别深入,但你知道,这是我确信在座的每个人都在考虑并且将继续讨论的事情之一。那就是,对我们来说,我们的很大一部分客户是大型企业、金融服务和医疗保健。所以,他们非常非常注重安全。所以,我们肯定必须确保这是一个选择加入的功能。但是,你知道,我们仍然希望有一些小的工具提示,比如“嘿,如果你点击这个”,但如果你点击这个,我们会将一些数据发送给第三方提供商。所以,是的。是的,发布后,只是为了进入对话的最后一个逻辑部分。你们是如何继续衡量产出的?我的意思是,布莱恩,你是这里的大评估专家,我敢肯定那将是答案。但我很想听听更多关于你如何看待这种衡量,无论是模型本身,还是模型在产品中的上下文,我认为这也是人们需要考虑的。是的,我最近了解到有一个比“吃狗粮”更友好的术语,那就是“喝自己的香槟”。所以,我会说我喝了很多香槟。我每天,整天都在使用魔法。分析产品性能的有趣之处在于,你通常通过数据科学来做到这一点。所以我有一个有趣的事情,我正在使用魔法来分析魔法。我付出了很多努力来试图理解它在哪些方面成功,哪些方面失败,无论是通过传统的产品分析,还是通过使用产品本身来指导。所以,有一种非常坚定的感觉,但最终,经典的传统数据科学,听起来很棒,而且与你的背景相符。你们呢?对我来说,我在这方面确实没有布莱恩那么多的经验。但有一段时间,我们纯粹使用提示输入字符串输出,没有任何类型化接口。然后我们使用它,然后编写测试,再次使用 LLM 进行比较和语义比较。而且,你知道,这显然有问题,但它也奏效了。然后,当我们进入类型化世界时,就像 Marvin 是为了类型化保证的输出一样,在这种世界中进行测试确实容易得多。你知道,这就是我为什么总是强调 LLM 工具的原因,将其引入后端,就是拥有这些类型化的握手,因为你知道你可以编写你知道输出应该是什么的提示,并且它应该具有某种类型。而且,这很容易衡量。是的,完全同意。而且,我认为最令人着迷的事情之一是,软件的这一波浪潮,布莱恩,你之前也提到过,你关于随机性的评论,它不是确定性的。而且,我认为基于 AI 的软件也不必是静态的。它可以是动态的,也许不像传统软件那样。而且,有改进,也许在用户体验方面,也有模型。我们听到了很多人谈论微调等技术,RHF,RIF,所有这些方法来继续改进模型本身,在产品上下文中随着时间的推移。所以,我很想知道你们是如何衡量这种改进的,因为你们继续希望收集数据并加深对用户行为的理解。是的,我最近了解到,大约在六月或七月,有一篇非常引人注目的论文,来自 Spark,它说,“哦,模型正在随着时间的推移而退化,即使它们说没有。”而我认为有趣的是,对于那些在生产环境中做这件事的人来说,我们已经知道了。我的评估在第一天就失败了,他们切换到了新的端点。我甚至没有切换端点,突然我的评估就失败了。所以我认为,当你构建这些东西时,在生产环境中,你必须密切关注性能随时间的推移,并且你必须以一种非常健壮的方式构建评估。我已经在这个对话中说过足够多的评估了,但我一直回来的问题是,你关心的是什么性能?将你的案例提炼成传统的评估方法。我们不需要潜在距离分布和这些分布之间的 K 散度。我们不需要,事实证明,蓝分相似度对 LLM 输出并不好。这已经为人所知三四年了。所以,接受你的任务,理解它,用一种非常清晰的人类方式来理解它,将其提炼成二元的“是”或“否”,然后运行你的评估。对于那些说,“我的任务太复杂了,我无法判断它是对还是错,我必须使用更潜在的东西”的人,我会挑战你们更努力地尝试。我评估的任务非常细致且复杂,而且我并不总是能轻松地进行二元评估,但你继续努力,最终你会找到东西。你谈到了类型检查,你谈到了类型握手,这是许多 ML 人员多年来一直在宣扬可组合性福音的事情。这些不是新想法,只是对今天考虑评估的一些人来说可能很新。是的,嗯,所以故事的寓意是,基本上要更努力。这就是我从中学到的。克里斯,你有什么要补充的吗?我认为我唯一要补充的是,我对某人应该如何做,或者他们可以考虑什么,没有太多看法。但我认为,你刚才描述了一个高度非确定性的、动态的实验工作流程。而且,你知道,这些就是我们的核心产品旨在处理的事情。所以,你知道,实验这些,你知道,知道它们的结构,也许是让我着迷的事情,而不是你可能使用的实际指标的细节。是的,嗯,你知道,我认为我之所以非常兴奋地进行这次小组讨论,是因为我们在这里有 AI 工程师的两个方面,对吧?一个人来自更传统的 ML 背景,一个人来自更传统的工程背景,而且你们都在构建基于 AI 的产品。所以,我想给你们一个机会,如果你们有任何最后的问题要问对方。是的,所以你在数据工作流程领域工作,我一直在思考可组合性和数据工作流程,我一直是工作流程中心 ML 的长期粉丝。所以,我想听听,当你思考构建这些代理管道时,它们开始进入 DAG 和响应和请求的结构化链。从你的领域来看,每个构建代理的 AI 工程师都应该知道的一件事是什么,这会让构建代理更容易?哦,这是一个非常好的问题。我认为主要的事情是我之前提到过的,那就是考虑故障模式。我认为这是最大的事情。所以,失控的进程,尽早捕获输出或输入的潜在异常,通过某种可观察性层。所以,你越早能够接通线路,我认为越好。然后缓存是我唯一一次会这样说,在某些情况下它绝对是你的朋友,但它也是万恶之源。所以,你必须,你知道,平衡一下。但是的,我认为只是考虑可观察性和可调试性层,特别是考虑到一些黑箱式的,以及那些正在推动它的人,并且实际上拥有对返回代码的即时评估,或者类似的东西,拥有那个监控层我认为是关键。克里斯,我知道你在这次小组讨论中问了布莱恩很多问题,但你还有什么想问的吗?是的,我只是非常好奇,我知道每个人都会问你这个问题,但幻觉问题,你知道,显然你的用户可以直接面对它,如果它看起来奇怪,他们可以看到它看起来奇怪,或者它出错。但作为构建用户界面的那个人,你如何看待它?有人最近问我要一些关于幻觉的参考资料,我说,“有哪些关于幻觉的好参考资料?”我搜了一下,人们普遍给出的建议是,要解决幻觉问题,基本上要更努力地进行 RAG,就像构建一个更好的检索增强管道一样。当我坐下来看的时候,我说,“老实说,这就像我们解决它的方式一样。”我们对魔法的幻觉的减少,这不是一个简单的问题,就是我们必须更仔细地思考检索增强生成。特别是检索不是你在任何书中都能找到的东西。即使是我刚出版的书,即使在那里,我也没谈过这种特定的检索机制。但它需要我们额外的思考,但我们做到了。所以,再次,更多的是一个“更努力”的故事,总是要仔细思考。好的,最后一点,为了结束今天的 AI 工程师峰会,你今天的热门观点是什么?绝对停止构建聊天界面。我认为聊天是一个产品,AI 是一个工具。所以,再次,我知道我之前说过,但要找到改进机器对机器接口的方法,以便开发人员能够真正受益并更直接地使用 AI,而不是到处构建聊天。我喜欢这个。我的观点有点刻薄,所以提前道歉。我认为你们在构建 AI 功能时面临的许多工作将是极其枯燥的。而且我认为你们应该为此做好准备。能力非常令人兴奋,可能性是惊人的,而且在 ML 中一直都是这样。旅程感觉非常乏味。最终是值得的,它非常有趣,但你们还有很多数据工程工作要做。而且我认为人们还没有认识到它有多重要。是的,我认为这是非常真实和非常公平的观点,因为我们都在努力希望将所有这些东西投入生产,那就是关键所在。好吧,这就是我们所能做的了。非常感谢你们两位和我一起上来。掌声。我只想说几句结束语。非常感谢你们精彩的小组讨论。现在轮到你们发言了。我们在宴会厅里放了一些旗帜,这是为了促进讨论。所以,请朝着你们想讨论的主题前进。这些主题是什么?它们是多模态、AI 代理、提示工程、代码生成、LLM 工具、来吧,点击器,检索增强生成、OSS 模型、招聘和演讲、LangChain 和 LlamaIndex 以及 GPU 和基础设施。LLM 工具、LangChain 和 LlamaIndex 以及 AIU 将在 Carmel 找到,不是 LlamaIndex,它在他们的展位对面,那里有 Microsoft、Cloudflare、GitHub 和 Weights & Biases 的展位。Carmel 还有额外的食物。这些主题还有 Vector Village,在 Carmel 再往前一点,在 Monterey。那些是临时演示,你可以连接到你的笔记本电脑,做一个演示。还有白板供你们头脑风暴。然后,当然,还有更多的休息区和桌子座位。我们有一个现金吧,我们已经用完了预算,但别担心,明天我们将有一个由 Decel VC 提供的免费酒吧。感谢你们让这一天如此精彩。请尽情享受主题桌,直到晚上 9:30。然后明天早上 9:00,我们将再次见面,享用早餐和博览会,Mario Rodriguez 将在 GitHub 发表开幕主题演讲,时间是 9:45。非常感谢大家,明天见。音乐。我看着你,看着你崛起,穿着旧的 T 恤,走过高潮。这些夜晚尝起来像金子一样甜美,带着痴迷。给我看点新的东西。随着每个早晨的到来,我们,我们走出夜晚。