本週DBRX等八款大模型開源專案

banq發表於2024-04-05

有趣的專案、工具和庫

1、SWE-agent
SWE-agent 將 LM(例如 GPT-4)轉變為軟體工程代理,可以修復真實 GitHub 儲存庫中的錯誤和問題。
SWE-bench上,SWE-agent 解決了12.29%的問題,在整個測試集上實現了最先進的效能。

代理計算機介面 (ACI)

我們透過設計簡單的以 LM 為中心的命令和反饋格式來實現這些結果,使 LM 更容易瀏覽儲存庫、檢視、編輯和執行程式碼檔案。我們將其稱為代理計算機介面(ACI),並構建 SWE 代理儲存庫,以便輕鬆迭代儲存庫級編碼代理的 ACI 設計。

就像典型的語言模型需要良好的提示工程一樣,良好的 ACI 設計在使用代理時會帶來更好的結果。正如我們在論文中所示,沒有經過良好調整的 ACI 的基線代理的表現比 SWE 代理差得多。

SWE-agent 包含我們發現在代理-計算機介面設計過程中非常有用的功能:

  1. 我們新增了一個在發出編輯命令時執行的 linter,並且如果程式碼語法不正確,則不會讓編輯命令透過。
  2. 我們為代理提供了一個專門構建的檔案檢視器,而不僅僅是cat檔案。我們發現此檔案檢視器在每輪僅顯示 100 行時效果最佳。我們構建的檔案編輯器具有用於上下滾動以及在檔案中執行搜尋的命令。
  3. 我們為代理提供了專門構建的全目錄字串搜尋命令。我們發現該工具簡潔地列出匹配項非常重要 - 我們只需列出至少有一個匹配項的每個檔案。事實證明,向模型顯示有關每場比賽的更多上下文對於模型來說太混亂了。
  4. 當命令的輸出為空時,我們會返回一條訊息,指出“您的命令已成功執行,但未產生任何輸出”。

用法:
SWE-agent 管道有兩個步驟

  • 第一個 SWE 代理接受輸入 GitHub 問題並返回嘗試修復它的拉取請求。我們稱該步驟為推理。
  • 第二步(目前僅適用於 SWE-bench 基準測試中的問題)是評估拉取請求以驗證它確實解決了問題。


2、DBRX
databricks DBRX 是一個混合專家 (MoE) 模型,具有 132B 總引數和 36B 實時引數。我們使用 16 名專家,其中 4 名在訓練或推理過程中處於活躍狀態。 DBRX 針對 12T 文字標記進行了預訓練。 DBRX 的上下文長度為 32K 個令牌。

  • 根據我們的測量,它超越了GPT-3.5,並且與Gemini 1.0 Pro具有競爭力。它是一個特別強大的程式碼模型,除了作為通用 LLM 的優勢外,在程式設計方面超越了 CodeLLaMA-70B 等專業模型。
  • 這種最先進的質量伴隨著訓練和推理效能的顯著改進。 DBRX 憑藉其細粒度的專家混合 (MoE) 架構,在開放模型中提高了最先進的效率。
  • 推理速度比 LLaMA2-70B 快 2 倍,而且就總引數計數和活動引數計數而言,DBRX 的大小約為 Grok-1 的 40%。

DBRX 是一種基於 Transformer 的僅解碼器大語言模型 (LLM),使用下一個令牌預測進行訓練。與 Mixtral 和 Grok-1 等其他開放 MoE 模型相比,DBRX 是細粒度的,這意味著它使用了更多數量的小型專家。

該模型使用我們的開源庫ComposerLLM FoundryMegaBlocksStreaming的最佳化版本進行訓練。
訓練混合專家模型很困難。我們必須克服各種科學和效能挑戰,才能構建足夠強大的管道,以有效的方式重複訓練 DBRX 級模型。現在我們已經做到了這一點,我們擁有了一個獨一無二的訓練堆疊,允許任何企業從頭開始訓練世界一流的 MoE 基礎模型。

TensorRT-LLM 和 vLLM 均可用於透過 DBRX 執行最佳化推理。我們已在 NVIDIA A100 和 H100 系統上測試了這兩個庫。要以 16 位精度執行推理,至少需要 4 x 80GB 多 GPU 系統。


3、thepipe
使用一行程式碼將任何檔案、資料夾、網站或儲存庫匯出到 GPT-4-Vision。

該管道是一種多模式優先的工具,用於將非結構化檔案、目錄和網站扁平化為可立即使用的格式,以便與大型語言模型一起使用。它建立在數十種精心設計的啟發式之上,可以從檔案、目錄、網頁、論文、github 儲存庫等建立合理的文字和影像提示。

特點

  • 準備來自數十種複雜檔案型別的提示
  • 複雜 PDF、Markdown 等的視覺化文件提取 
  • 針對多模式 LLM 最佳化的輸出 
  • 超過您設定的令牌限制時自動壓縮提示 
  • 適用於丟失的副檔名、記憶體中的資料流
  • 適用於目錄、URL、git 儲存庫等 
  • 多執行緒


4、Sparrow
使用 ML 和 LLM 進行資料處理。

  • Sparrow 是一種創新的開源解決方案,可從各種文件和影像中高效提取和處理資料。它能無縫處理表單、發票、收據和其他非結構化資料來源。
  • Sparrow 以其模組化架構脫穎而出,提供獨立的服務和管道,所有服務和管道均經過最佳化,效能強勁。
  • Sparrow 的關鍵功能之一是可插拔架構。您可以使用 LlamaIndex、Haystack 或 Unstructured 等工具和框架輕鬆整合和執行資料提取管道。
  • Sparrow 可透過 Ollama 或 Apple MLX 實現本地 LLM 資料提取管道。
  • 有了 Sparrow 解決方案,您就可以獲得 API,它有助於將資料處理和轉換為結構化輸出,並可隨時與自定義工作流整合。

Sparrow 代理--使用 Sparrow,您可以構建獨立的 LLM 代理,並使用 API 從您的系統中呼叫它們。


5、Nava
在 Python 中播放聲音。

  • Nava 是一個 Python 庫,允許使用者在 Python 中播放聲音,而無需任何依賴項或平臺限制。
  • 它是一個跨平臺解決方案,可以在任何作業系統上執行,包括 Windows、macOS 和 Linux。
  • 其輕量級且易於使用的設計使 Nava 成為希望向 Python 程式新增聲音功能的開發人員的理想選擇。


6、IPEX-LLM
一個 PyTorch 庫,用於在 Intel CPU 和 GPU(例如,具有 iGPU 的本地 PC、Arc、Flex 和 Max 等獨立 GPU)上執行 LLM,延遲非常低。

  • 它建立在 Intel Extension for PyTorch (IPEX) 以及 llama.cpp、bitsandbytes、vLLM、qlora、AutoGPTQ、AutoAWQ 等優秀成果之上。
  • 它提供了與 llama.cpp、Text-Generation-WebUI、HuggingFace 轉換器、HuggingFace PEFT、LangChain、LlamaIndex、DeepSpeed-AutoTP、vLLM、FastChat、HuggingFace TRL、AutoGen、ModeScope 等的無縫整合。
  • 50 多種模型已在 ipex-llm 上最佳化/驗證(包括 LLaMA2、Mistral、Mixtral、Gemma、LLaVA、Whisper、ChatGLM、Baichuan、Qwen、RWKV 等);請在此處檢視完整列表。


7、RAGFlow
RAGFlow 是一個基於深度文件理解的開源 RAG(檢索增強生成)引擎。

它為任何規模的企業提供簡化的 RAG 工作流程,結合 LLM(大型語言模型)來提供真實的問答功能,並以來自各種複雜格式資料的有根據的引用為後盾。

  • 基於深度文件理解,從複雜格式的非結構化資料中提取知識。
  • 找到幾乎無限的令牌的“資料大海撈針”。

基於模板的分塊
  • 智慧且可解釋。
  • 有大量模板選項可供選擇。

減少幻覺的有根據的引用
  • 文字分塊的視覺化以允許人工干預。
  • 快速檢視關鍵參考文獻和可追溯的引文,以支援有根據的答案。

相容異構資料來源
  • 支援Word、幻燈片、Excel、txt、影像、掃描件、結構化資料、網頁等。

自動化、輕鬆的 RAG 工作流程
  • 簡化的 RAG 編排可滿足個人和大型企業的需求。
  • 可配置的法學碩士以及嵌入模型。
  • 多重召回與融合重新排名相結合。
  • 直觀的 API,可與業務無縫整合。

8、plandex
用於複雜任務的人工智慧編碼引擎

Plandex 使用長時間執行的代理來完成跨多個檔案且需要多個步驟的任務。它將大任務分解為更小的子任務,然後實現每一個子任務,一直持續到完成工作為止。它可以幫助您處理積壓的工作,使用不熟悉的技術,擺脫困境,並花更少的時間在無聊的事情上。

  • Plandex 依賴於 OpenAI API,需要OPENAI_API_KEY環境變數。對開源模型、Google Gemini 和 Anthropic Claude 的支援即將推出。
  • Plandex 支援 Mac、Linux、FreeBSD 和 Windows。它從沒有依賴關係的單個二進位制檔案執行。

優點:

  • 超越自動完成功能,利用人工智慧構建複雜的功能。
  • 使用 ChatGPT 停止以滑鼠為中心、複製貼上的瘋狂編碼。
  •  在終端中有效管理上下文。
  •  確保 AI 模型始終在上下文中擁有最新版本的檔案。
  •  保持對上下文內容以及您使用的令牌數量的精細控制。
  •  在應用更改之前,在受保護的沙箱中進行實驗、修改和審查。
  •  根據需要倒回並重試。
  •  探索分支的多種方法。
  •  在後臺執行任務或並行處理多個任務。
  • 嘗試不同的模型和模型設定,然後比較結果。

相關文章