Llama 2 是 Meta 最新的文本生成模型,目前其性能優于所有開源替代方案。
推薦:用 NSDT編輯器 快速搭建可編程3D場景
1、強大的Llama 2
它擊敗了 Falcon-40B(之前最好的開源基礎模型),與 GPT-3.5 相當,僅低于 GPT-4 和 PALM 2(均為閉源模型,分別由 OpenAI 和 Google 擁有)。
HuggingFace 上的開源基金會模型排行榜
在如上所示的同一排行榜上,如果你更改過濾器以包含微調模型,會發現基本上整個列表都是由 Llama 2 衍生品組成的。
雖然 Llama 2 還沒有完全開放,但對于絕大多數用戶來說是非常寬松的。
如果在 Llama 2 版本發布之日,被許可方或被許可方的關聯公司提供的產品或服務的每月活躍用戶數在上一個日歷月中超過 7 億,你必須向Meta申請許可證。
2、托管 Llama 2 API
Llama 2 模型有 3 種不同大小:7B、13B 和 70B 參數。
70B參數版本需要多個 GPU,因此無法免費托管。
在 13B 和 7B 版本中,13B 版本更強大,但需要一些壓縮(量化或降低浮點精度)才能適合單個中檔 GPU。 幸運的是,Llama cpp 庫使這變得相當簡單!
托管 Llama 2 API 的基本概要如下:
- 使用 Google Colab 免費訪問 Nvidia T4 GPU!
- 使用 Llama cpp 將 Llama 2 模型壓縮并加載到 GPU 上。
- 創建 FastAPI 服務器以向模型提供 REST API。
- 使用 Ngrok 通過公共 URL 公開 FastAPI 端點。
完整的 Colab 代碼可以從這里下載。
3、Google Colab 操作
首先復制示例的Notebook:
在左上角,選擇“文件”->“在云端硬盤中保存副本”。 這將打開你擁有的新 Colab。
仔細檢查Runtime是否設置為使用 T4 Nvidia GPU:
右上角有用于更改運行時硬件的選項。
要查看實例上的文件(例如 server.log),請檢查左側邊欄:
4、使用 Ngrok 創建公共 URL
我們需要的最后一個工具是 Ngrok,它提供了一種通過公共 URL 訪問模型服務端點的方法。
用戶需要創建一個僅允許 1 個本地隧道的免費帳戶 — 你不需要下載或設置任何東西,只需要一個用戶身份驗證密鑰的帳戶。
可以使用電子郵件或通過 GitHub 或 Google 帳戶進行注冊。 請隨意跳過兩步身份驗證設置。
在 Ngrok 設置頁面上獲取 Auth token,如圖中紅框所示
將用戶身份驗證令牌放入 Colab 代碼中,如下所示:
!./ngrok authtoken <YOUR-NGROK-TOKEN-HERE>
這是示例的Notebook所需的唯一更改,簡單易行!
其余流程相當簡單,請參閱Notebook的內容。
5、訪問 Llama 2 API
現在,只需一個簡單的請求,就可以輕松訪問你的 Llama 2 模型!
curl --location --request POST 'https://499a-104-196-231-246.ngrok-free.app/generate' \
--header 'Content-Type: application/json' \
--data-raw '{"inputs": "What is mypy used for?","parameters": {"temperature": 0.0,"max_tokens": 25}
}'
如果你使用 Postman,請求/響應可能如下所示:
6、下一步
主機托管的 LLM 最突出且廣泛適用的用例之一是利用你的私有數據豐富模型的內部知識,以便它可以像知識淵博的隊友一樣在完整的上下文中回答用戶查詢。
我將在后續文章中介紹如何建立一個免費的開源項目來執行此操作。
作為一個案例,Danswer 是目前唯一免費、完全開源的基于 Llama 2 LLM 的問答項目,功能齊全,可供生產使用。
7、結束語
雖然能夠免費托管自己的 LLM 非常有價值,但使用 Google Colab 有一些注意事項:
- 本指南(和 Google Colab)更多地用于開發用途,為了擁有永久端點,你可能需要投資專用硬件,因為 Google Colab 將在一段時間不活動后回收實例。
- 免費套餐中不提供 A100 等高端 GPU。
- 在免費套餐中,你只能在單個會話中申請最多 12 小時的實例。
原文鏈接:Llama 2 API免費托管方案 — BimAnt