用於開源 LLM 的開源 AGI 伺服器
這是Anarchy致力於建構開放的廣義人工智慧的努力?透過 LLM-VM:一種賦予 LLM 超能力的方法?和超高速?
您可以在這裡找到詳細的說明並進行現場嘗試:anarchy.ai
該項目處於測試階段。期待不斷的改進和發展。
Anarchy LLM-VM 是一個高度優化且固執己見的後端,用於運行 LLM,具有我們期望完成後的所有現代功能:工具使用、持久狀態內存、實時數據增強、數據和任務微調、輸出模板、網絡遊樂場、API 端點、師生蒸餾、數據合成、負載平衡和編排、大型上下文視窗模仿。
從形式上來說,它是人類語言的虛擬機器/解釋器,在資料、模型 (CPU)、提示(程式碼)和工具 (IO) 之間進行協調。
透過以一種固執己見的方式在一個地方完成所有這些事情,LLM-VM 可以正確優化批次調用,而對於分散式端點來說,批次調用的成本過高。此外,它還致力於模型和架構的不可知論,為目前架構正確最佳化所選模型。
根據 Anarchy 的使命,LLM-VM 致力於支援開源模型。透過利用開源模型並在本地運行它們,您可以獲得以下好處:
加速您的 AGI 開發:借助 AnarchyAI,您只需一個介面即可與最新的法學碩士互動。
降低成本?
靈活性 ?♀️: Anarchy 允許您在流行模型之間快速切換,以便您可以為您的專案找到正確的工具。
社區氛圍?
WYSIWYG ?:開源意味著沒有任何隱藏;我們努力提高透明度和效率,以便您可以專注於建造。
隱式代理? : Anarchy LLM-VM 可以設定為透過我們的代理程式(例如REBEL)使用外部工具,只需提供工具描述即可!
推理優化? : Anarchy LLM-VM 從代理級別一直到在已知 LLM 架構上進行組裝進行了優化,以獲得最大的收益。憑藉最先進的批次、稀疏推理和量化、蒸餾和多級託管,我們的目標是提供最快的可用框架。
任務自動優化? : Anarchy LLM-VM 將分析重複任務的用例,其中它可以激活學生-教師蒸餾,從更大更通用的模型訓練超高效的小模型,而不會損失準確性。它還可以利用數據合成技術來改善結果。
Library Callable :我們提供了一個可以直接從任何 Python 程式碼庫使用的函式庫。
HTTP 端點 ️:我們提供一個 HTTP 獨立伺服器來處理完成請求。
即時資料增強:(路線圖)您將能夠提供即時更新的資料集,Anarchy LLM-VM 將微調您的模型或使用向量資料庫來提供帶有引用的最新信息
Web Playground ? :(路線圖)您將能夠執行 Anarchy LLM-VM 並從瀏覽器測試其輸出。
負載平衡和編排 ⚖️:(路線圖)如果您想要使用多個 LLM 或供應商,您將能夠將它們交給 Anarchy LLM-VM,以自動確定要使用哪一個以及何時優化您的正常運行時間或您的成本
輸出範本?
持久狀態記憶體:(路線圖) Anarchy LLM-VM 可以記住使用者的對話歷史記錄並做出相應的反應
Python >=3.10 支援。舊版的 Python 是盡力而為的。
使用bash > python3 --version
檢查您使用的版本。
要升級 python,請使用bash > conda create -n myenv python=3.10
建立新的 python 環境,或造訪 https://www.python.org/downloads/ 下載最新版本。
If you plan on running the setup steps below, a proper Python version will be installed for you
不同的型號有不同的系統需求。大多數系統上的限制因素可能是 RAM,但許多功能甚至可以在 16 GB RAM 上運行。
也就是說,請始終查找有關您正在使用的模型的信息,它們都有不同的大小以及內存和計算資源的要求。
最快的入門方法是在 Python 環境中執行pip install llm-vm
。
安裝 LLM-VM 的另一種方法是複製此儲存庫並使用 pip 安裝它,如下所示:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> ./setup.sh
上面的 bash 腳本setup.sh
僅適用於 MacOS 和 Linux。
或者你可以這樣做:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv < name >
> source < name > /bin/activate
> python -m pip install -e . " [dev] "
如果您使用的是 Windows。您可以採用以下兩種方法之一:
在執行以下任何步驟之前,您必須先以管理員身分開啟 Powershell 並執行以下命令
> Set-ExecutionPolicy RemoteSigned
> Press Y and enter
> exit
現在您可以採用以下兩種方法之一:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> .windows_setup.ps1
或者
> winget install Python.Python.3.11
> python --version
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv anarchyai
> anarchyaiScriptsactivate
> python -m pip install -e .
筆記:
如果您使用的是 OpenAI 模型之一,則需要使用 API 金鑰設定LLM_VM_OPENAI_API_KEY
環境變數。
我們的 LLM-VM 讓您只需 3 行程式碼即可直接與本地流行的 LLM 合作。一旦你安裝了它(如上所述),只需加載你的模型並開始生成!
# import our client
from llm_vm . client import Client
# Select which LLM you want to use, here we have OpenAI
client = Client ( big_model = 'chat_gpt' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' , openai_key = 'ENTER_YOUR_API_KEY' )
print ( response )
# Anarchy is a political ideology that advocates for the absence of government...
# import our client
from llm_vm . client import Client
# Select the LlaMA 2 model
client = Client ( big_model = 'llama2' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
從以下型號中選擇
Supported_Models = [ 'chat_gpt' , 'gpt' , 'neo' , 'llama2' , 'bloom' , 'opt' , 'pythia' ]
本地模型的 LLM-VM 預設模型大小旨在讓每個人都可以進行 LLM 實驗,但如果您有所需的內存,較大的參數模型會表現得更好!
例如,如果你想為你的老師和學生使用一個大和小的neo模型,並且你有足夠的RAM:
# import our client
from llm_vm . client import Client
# Select the LlaMA model
client = Client ( big_model = 'neo' , big_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-20b' },
small_model = 'neo' , small_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-125m' })
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
以下是一些預設型號的詳細資訊:
姓名 | 模型_Uri | 模型參數 | 檢查點檔案大小 |
---|---|---|---|
尼奧 | EleutherAI/gpt-neo-1.3B | 1.3B | 5.31GB |
盛開 | bigscience/bloom-560m | 1.7B | 1.12GB |
選擇 | facebook/opt-350m | 350m | 622MB |
有關每個模型系列中記憶體使用量和參數計數的其他一些選擇,請查看表 model_uri_tables。
有兩種代理:FLAT 和 REBEL。
透過進入src/llm_vm/agents/<AGENT_FOLDER>
並執行標題為agent.py
的檔案來單獨執行代理程式。
或者,要運行簡單的介面並選擇要從 CLI 運行的代理,請執行src/llm_vm/agents/agent_interface.py
檔案並按照命令提示字元說明進行操作。
我們歡迎貢獻者!首先要加入我們活躍的 Discord 社群。否則,這裡有一些貢獻和獲得報酬的方式:
我們為關閉特定門票提供獎勵!查看門票標籤即可了解獎金金額。首先,加入不和諧並閱讀指南
馬修·米爾曼- 首席執行官
維克多·奧德德- Undoomer
Abhigya Sodani - 研究實習生
Carter Schonwald - 無畏的貢獻者
凱爾懷爾德- 無畏的貢獻者
Aarushi Banerjee - 無畏的貢獻者
安德魯尼爾森- 無畏貢獻者
麻省理工學院許可證