模型概述
模型特點
模型能力
使用案例
🚀 Swallow 70B Instruct - GGUF
Swallow 70B Instruct是一款強大的語言模型,本倉庫提供其GGUF格式的模型文件,支持多種客戶端和庫,能滿足不同場景下的文本生成需求。
🚀 快速開始
本模型可通過多種方式使用,如藉助LM Studio、LoLLMS Web UI、Faraday.dev等客戶端或庫自動下載使用;也能在text-generation-webui
中手動指定下載;還可通過命令行利用huggingface-hub
庫進行高速下載。
✨ 主要特性
- 多語言支持:支持英語和日語。
- 多種量化方法:提供多種量化方法的模型文件,如Q2_K、Q3_K、Q4_K等,可根據需求選擇不同的量化模型。
- 廣泛兼容性:與llama.cpp及眾多第三方UI和庫兼容,如text-generation-webui、KoboldCpp等。
📦 安裝指南
安裝依賴庫
若使用命令行下載模型文件,需安裝huggingface-hub
Python庫:
pip3 install huggingface-hub
若要加速下載,可安裝hf_transfer
:
pip3 install hf_transfer
並設置環境變量:
HF_HUB_ENABLE_HF_TRANSFER=1
下載模型文件
可使用以下命令下載單個模型文件到當前目錄:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
若要一次下載多個文件,可使用通配符:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
💻 使用示例
基礎用法
在llama.cpp
中運行模型的示例命令:
./main -ngl 35 -m swallow-70b-instruct.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:"
高級用法
在Python代碼中使用llama-cpp-python
加載模型
首先根據系統安裝相應的包:
# 無GPU加速的基礎安裝
pip install llama-cpp-python
# 使用NVidia CUDA加速
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
# 或使用OpenBLAS加速
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
# 或使用CLBLast加速
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
# 或使用AMD ROCm GPU加速(僅Linux)
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
# 或使用Metal GPU加速(僅macOS系統)
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# 在Windows的PowerShell中設置變量,例如使用NVidia CUDA:
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
簡單的llama-cpp-python
示例代碼:
from llama_cpp import Llama
# 設置要卸載到GPU的層數。如果系統沒有GPU加速,則設置為0。
llm = Llama(
model_path="./swallow-70b-instruct.Q4_K_M.gguf", # 先下載模型文件
n_ctx=4096, # 要使用的最大序列長度 - 注意,更長的序列長度需要更多的資源
n_threads=8, # 要使用的CPU線程數,根據系統和性能進行調整
n_gpu_layers=35 # 如果有GPU加速,要卸載到GPU的層數
)
# 簡單推理示例
output = llm(
"以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:", # 提示信息
max_tokens=512, # 生成最多512個標記
stop=["</s>"], # 示例停止標記 - 不一定適用於此特定模型!使用前請檢查。
echo=True # 是否回顯提示信息
)
# 聊天完成API
llm = Llama(model_path="./swallow-70b-instruct.Q4_K_M.gguf", chat_format="llama-2") # 根據使用的模型設置聊天格式
llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
📚 詳細文檔
關於GGUF
GGUF是llama.cpp團隊在2023年8月21日引入的新格式,用於替代不再受llama.cpp支持的GGML格式。以下是已知支持GGUF的客戶端和庫的不完全列表:
- llama.cpp:GGUF的源項目,提供CLI和服務器選項。
- text-generation-webui:最廣泛使用的Web UI,具有許多功能和強大的擴展,支持GPU加速。
- KoboldCpp:功能齊全的Web UI,支持所有平臺和GPU架構的GPU加速,特別適合講故事。
- GPT4All:免費開源的本地運行GUI,支持Windows、Linux和macOS,具有完整的GPU加速。
- LM Studio:適用於Windows和macOS(Silicon)的易於使用且功能強大的本地GUI,支持GPU加速。截至2023年11月27日,Linux版本處於測試階段。
- LoLLMS Web UI:一個很棒的Web UI,具有許多有趣和獨特的功能,包括一個完整的模型庫,便於模型選擇。
- Faraday.dev:一個有吸引力且易於使用的基於角色的聊天GUI,適用於Windows和macOS(Silicon和Intel),支持GPU加速。
- llama-cpp-python:一個支持GPU加速、LangChain集成和OpenAI兼容API服務器的Python庫。
- candle:一個注重性能的Rust機器學習框架,包括GPU支持和易用性。
- ctransformers:一個支持GPU加速、LangChain集成和OpenAI兼容AI服務器的Python庫。截至2023年11月27日,ctransformers已有很長時間未更新,不支持許多最新模型。
可用倉庫
- 用於GPU推理的AWQ模型
- 具有多個量化參數選項的用於GPU推理的GPTQ模型
- 用於CPU + GPU推理的2、3、4、5、6和8位GGUF模型
- tokyotech-llm的原始未量化fp16 PyTorch格式模型,用於GPU推理和進一步轉換
提示模板
以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:
兼容性
這些量化的GGUFv2文件與2023年8月27日之後的llama.cpp版本兼容,對應提交版本為d0cee0d。它們也與許多第三方UI和庫兼容,具體請見本README頂部的列表。
量化方法說明
點擊查看詳情
新的可用方法如下:
- GGML_TYPE_Q2_K:“type-1” 2位量化,超級塊包含16個塊,每個塊有16個權重。塊的縮放和最小值用4位量化,最終每個權重有效使用2.5625位(bpw)。
- GGML_TYPE_Q3_K:“type-0” 3位量化,超級塊包含16個塊,每個塊有16個權重。縮放用6位量化,最終使用3.4375 bpw。
- GGML_TYPE_Q4_K:“type-1” 4位量化,超級塊包含8個塊,每個塊有32個權重。縮放和最小值用6位量化,最終使用4.5 bpw。
- GGML_TYPE_Q5_K:“type-1” 5位量化,與GGML_TYPE_Q4_K具有相同的超級塊結構,最終使用5.5 bpw。
- GGML_TYPE_Q6_K:“type-0” 6位量化,超級塊有16個塊,每個塊有16個權重。縮放用8位量化,最終使用6.5625 bpw。
請參考下面的“提供的文件”表,瞭解哪些文件使用了哪些方法以及如何使用。
提供的文件
名稱 | 量化方法 | 位數 | 大小 | 所需最大RAM | 使用場景 |
---|---|---|---|---|---|
swallow-70b-instruct.Q2_K.gguf | Q2_K | 2 | 29.38 GB | 31.88 GB | 最小,但質量損失顯著,不建議用於大多數場景 |
swallow-70b-instruct.Q3_K_S.gguf | Q3_K_S | 3 | 30.03 GB | 32.53 GB | 非常小,但質量損失高 |
swallow-70b-instruct.Q3_K_M.gguf | Q3_K_M | 3 | 33.30 GB | 35.80 GB | 非常小,但質量損失高 |
swallow-70b-instruct.Q3_K_L.gguf | Q3_K_L | 3 | 36.26 GB | 38.76 GB | 小,但質量損失較大 |
swallow-70b-instruct.Q4_0.gguf | Q4_0 | 4 | 39.00 GB | 41.50 GB | 舊版本;小,但質量損失非常高,建議使用Q3_K_M |
swallow-70b-instruct.Q4_K_S.gguf | Q4_K_S | 4 | 39.20 GB | 41.70 GB | 小,但質量損失更大 |
swallow-70b-instruct.Q4_K_M.gguf | Q4_K_M | 4 | 41.55 GB | 44.05 GB | 中等,質量平衡,推薦使用 |
swallow-70b-instruct.Q5_0.gguf | Q5_0 | 5 | 47.60 GB | 50.10 GB | 舊版本;中等,質量平衡,建議使用Q4_K_M |
swallow-70b-instruct.Q5_K_S.gguf | Q5_K_S | 5 | 47.60 GB | 50.10 GB | 大,質量損失低,推薦使用 |
swallow-70b-instruct.Q5_K_M.gguf | Q5_K_M | 5 | 48.89 GB | 51.39 GB | 大,質量損失非常低,推薦使用 |
swallow-70b-instruct.Q6_K.gguf | Q6_K | 6 | 56.74 GB | 59.24 GB | 非常大,質量損失極低 |
swallow-70b-instruct.Q8_0.gguf | Q8_0 | 8 | 73.49 GB | 75.99 GB | 非常大,質量損失極低,但不建議使用 |
注意:上述RAM數字假設沒有GPU卸載。如果將層卸載到GPU,這將減少RAM使用並使用VRAM。
Q6_K和Q8_0文件是拆分的,需要合併
注意:HF不支持上傳大於50GB的文件。因此,我已將Q6_K和Q8_0文件作為拆分文件上傳。
點擊查看Q6_K和Q8_0文件的說明
q6_K
請下載:
swallow-70b-instruct.Q6_K.gguf-split-a
swallow-70b-instruct.Q6_K.gguf-split-b
q8_0
請下載:
swallow-70b-instruct.Q8_0.gguf-split-a
swallow-70b-instruct.Q8_0.gguf-split-b
要合併文件,請執行以下操作:
Linux和macOS:
cat swallow-70b-instruct.Q6_K.gguf-split-* > swallow-70b-instruct.Q6_K.gguf && rm swallow-70b-instruct.Q6_K.gguf-split-*
cat swallow-70b-instruct.Q8_0.gguf-split-* > swallow-70b-instruct.Q8_0.gguf && rm swallow-70b-instruct.Q8_0.gguf-split-*
Windows命令行:
COPY /B swallow-70b-instruct.Q6_K.gguf-split-a + swallow-70b-instruct.Q6_K.gguf-split-b swallow-70b-instruct.Q6_K.gguf
del swallow-70b-instruct.Q6_K.gguf-split-a swallow-70b-instruct.Q6_K.gguf-split-b
COPY /B swallow-70b-instruct.Q8_0.gguf-split-a + swallow-70b-instruct.Q8_0.gguf-split-b swallow-70b-instruct.Q8_0.gguf
del swallow-70b-instruct.Q8_0.gguf-split-a swallow-70b-instruct.Q8_0.gguf-split-b
如何下載GGUF文件
手動下載者注意:幾乎不需要克隆整個倉庫!提供了多種不同的量化格式,大多數用戶只需要選擇並下載單個文件。
以下客戶端/庫將自動為你下載模型,並提供可用模型列表供你選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在text-generation-webui
中
在“下載模型”下,你可以輸入模型倉庫:TheBloke/Swallow-70B-instruct-GGUF,然後在其下方輸入要下載的特定文件名,例如:swallow-70b-instruct.Q4_K_M.gguf。然後點擊“下載”。
在命令行中,包括一次下載多個文件
建議使用huggingface-hub
Python庫:
pip3 install huggingface-hub
然後你可以使用如下命令將任何單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高級的huggingface-cli下載用法(點擊查看)
你還可以使用通配符一次下載多個文件:
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
有關使用huggingface-cli
下載的更多文檔,請參閱:HF -> Hub Python庫 -> 下載文件 -> 從CLI下載。
要在高速連接(1Gbit/s或更高)上加速下載,請安裝hf_transfer
:
pip3 install hf_transfer
並將環境變量HF_HUB_ENABLE_HF_TRANSFER
設置為1
:
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows命令行用戶:你可以在下載命令之前運行set HF_HUB_ENABLE_HF_TRANSFER=1
來設置環境變量。
如何在text-generation-webui
中運行
更多說明可在text-generation-webui
文檔中找到,地址為:text-generation-webui/docs/04 ‐ Model Tab.md。
如何在Python代碼中運行
你可以使用llama-cpp-python或ctransformers庫從Python中使用GGUF模型。截至2023年11月27日,ctransformers
已有一段時間未更新,與一些最新模型不兼容。因此,建議使用llama-cpp-python
。
如何使用LangChain
以下是使用llama-cpp-python
和ctransformers
與LangChain的指南:
🔧 技術細節
模型信息
屬性 | 詳情 |
---|---|
模型創建者 | tokyotech-llm |
模型名稱 | Swallow 70B Instruct |
模型類型 | llama |
基礎模型 | tokyotech-llm/Swallow-70b-instruct-hf |
推理 | false |
支持語言 | 英語、日語 |
庫名稱 | transformers |
許可證 | llama2 |
量化者 | TheBloke |
管道標籤 | 文本生成 |
提示模板 | 以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答: |
📄 許可證
本模型使用llama2許可證。
💬 Discord
如需進一步支持,以及討論這些模型和人工智能相關話題,請加入:TheBloke AI的Discord服務器
🙏 感謝與貢獻
感謝chirper.ai團隊!感謝來自gpus.llm-utils.org的Clay!
很多人詢問是否可以進行貢獻。我喜歡提供模型並幫助他人,希望能有更多時間做這些事,也希望能開展新的項目,如微調/訓練。
如果您有能力且願意貢獻,我將不勝感激,這將幫助我繼續提供更多模型,並開展新的人工智能項目。
捐贈者將在任何與AI/LLM/模型相關的問題和請求上獲得優先支持,訪問私人Discord房間,以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別感謝:Aemon Algiz。
Patreon特別提及:Michael Levine, 阿明, Trailburnt, Nikolai Manek, John Detwiler, Randy H, Will Dee, Sebastain Graf, NimbleBox.ai, Eugene Pentland, Emad Mostaque, Ai Maven, Jim Angel, Jeff Scroggin, Michael Davis, Manuel Alberto Morcote, Stephen Murray, Robert, Justin Joy, Luke @flexchar, Brandon Frisco, Elijah Stavena, S_X, Dan Guido, Undi ., Komninos Chatzipapas, Shadi, theTransient, Lone Striker, Raven Klaugh, jjj, Cap'n Zoog, Michel-Marie MAUDET (LINAGORA), Matthew Berman, David, Fen Risland, Omer Bin Jawed, Luke Pendergrass, Kalila, OG, Erik Bjäreholt, Rooh Singh, Joseph William Delisle, Dan Lewis, TL, John Villwock, AzureBlack, Brad, Pedro Madruga, Caitlyn Gatomon, K, jinyuan sun, Mano Prime, Alex, Jeffrey Morgan, Alicia Loh, Illia Dulskyi, Chadd, transmissions 11, fincy, Rainer Wilmers, ReadyPlayerEmma, knownsqashed, Mandus, biorpg, Deo Leter, Brandon Phillips, SuperWojo, Sean Connelly, Iucharbius, Jack West, Harry Royden McLaughlin, Nicholas, terasurfer, Vitor Caleffi, Duane Dunston, Johann-Peter Hartmann, David Ziegler, Olakabola, Ken Nordquist, Trenton Dambrowitz, Tom X Nguyen, Vadim, Ajan Kanaga, Leonard Tan, Clay Pascal, Alexandros Triantafyllidis, JM33133, Xule, vamX, ya boyyy, subjectnull, Talal Aujan, Alps Aficionado, wassieverse, Ari Malik, James Bentley, Woland, Spencer Kim, Michael Dempsey, Fred von Graf, Elle, zynix, William Richards, Stanislav Ovsiannikov, Edmond Seymore, Jonathan Leane, Martin Kemka, usrbinkat, Enrico Ros
感謝所有慷慨的贊助者和捐贈者!再次感謝a16z的支持!



