模型概述
模型特點
模型能力
使用案例
🚀 Claire 7B 0.1 - GGUF
本項目包含 OpenLLM France 的 Claire 7B 0.1 模型的 GGUF 格式文件。這些文件由 Massed Compute 提供的硬件進行量化處理。
📦 安裝指南
由於原文檔未提供安裝步驟,此章節跳過。
💻 使用示例
基礎用法
import transformers
import torch
model_name = "OpenLLM-France/Claire-7B-0.1"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
device_map="auto",
torch_dtype=torch.bfloat16,
load_in_4bit=True # For efficient inference, if supported by the GPU card
)
pipeline = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer)
generation_kwargs = dict(
num_return_sequences=1, # Number of variants to generate.
return_full_text= False, # Do not include the prompt in the generated text.
max_new_tokens=200, # Maximum length for the output text.
do_sample=True, top_k=10, temperature=1.0, # Sampling parameters.
pad_token_id=tokenizer.eos_token_id, # Just to avoid a harmless warning.
)
prompt = """\
- Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
- Bonjour Camille,\
"""
completions = pipeline(prompt, **generation_kwargs)
for completion in completions:
print(prompt + " […]" + completion['generated_text'])
此代碼將輸出類似如下內容:
- Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
- Bonjour Camille, […] je vous prépare un plat de saison, une daube provençale.
- Ah je ne connais pas cette recette.
- C'est très facile à préparer, vous n'avez qu'à mettre de l'eau dans une marmite, y mettre de l'oignon émincé, des carottes coupées en petits morceaux, et vous allez mettre votre viande de bœuf coupé en petits morceaux également.
- Je n'ai jamais cuisiné de viande de bœuf, mais c'est vrai que ça a l'air bien facile.
- Vous n'avez plus qu'à laisser mijoter, et ensuite il sera temps de servir les clients.
- Très bien.
📚 詳細文檔
模型描述
本倉庫包含 OpenLLM France 的 Claire 7B 0.1 的 GGUF 格式模型文件。這些文件由 Massed Compute 提供的硬件進行量化。
關於 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 加速,尤其適合講故事。
- LM Studio:適用於 Windows 和 macOS(Silicon)的易於使用且功能強大的本地 GUI,支持 GPU 加速。
- LoLLMS Web UI:一個很棒的 Web UI,具有許多有趣和獨特的功能,包括一個完整的模型庫,便於模型選擇。
- Faraday.dev:一個有吸引力且易於使用的基於角色的聊天 GUI,適用於 Windows 和 macOS(Silicon 和 Intel),支持 GPU 加速。
- ctransformers:一個支持 GPU 加速、LangChain 和 OpenAI 兼容 AI 服務器的 Python 庫。
- llama-cpp-python:一個支持 GPU 加速、LangChain 和 OpenAI 兼容 API 服務器的 Python 庫。
- candle:一個專注於性能的 Rust ML 框架,包括 GPU 支持和易用性。
可用倉庫
- 用於 GPU 推理的 AWQ 模型
- 用於 GPU 推理的 GPTQ 模型,具有多種量化參數選項
- 用於 CPU+GPU 推理的 2、3、4、5、6 和 8 位 GGUF 模型
- OpenLLM France 原始未量化的 fp16 格式 PyTorch 模型,用於 GPU 推理和進一步轉換
提示模板:OpenLLM-France
- Bonjour BotName, {prompt}
- Bonjour UserName,
兼容性
這些量化的 GGUFv2 文件與 8 月 27 日之後的 llama.cpp 兼容,對應提交版本為 d0cee0d。
它們也與許多第三方 UI 和庫兼容,請參閱本 README 頂部的列表。
量化方法說明
點擊查看詳情
可用的新方法如下:
- GGML_TYPE_Q2_K - “類型 1” 2 位量化,超級塊包含 16 個塊,每個塊有 16 個權重。塊的比例和最小值用 4 位量化,最終每個權重有效使用 2.5625 位(bpw)。
- GGML_TYPE_Q3_K - “類型 0” 3 位量化,超級塊包含 16 個塊,每個塊有 16 個權重。比例用 6 位量化,最終使用 3.4375 bpw。
- GGML_TYPE_Q4_K - “類型 1” 4 位量化,超級塊包含 8 個塊,每個塊有 32 個權重。比例和最小值用 6 位量化,最終使用 4.5 bpw。
- GGML_TYPE_Q5_K - “類型 1” 5 位量化,與 GGML_TYPE_Q4_K 具有相同的超級塊結構,最終使用 5.5 bpw。
- GGML_TYPE_Q6_K - “類型 0” 6 位量化,超級塊有 16 個塊,每個塊有 16 個權重。比例用 8 位量化,最終使用 6.5625 bpw。
請參考下面的提供文件表,瞭解哪些文件使用了哪些方法以及如何使用。
提供的文件
名稱 | 量化方法 | 位數 | 大小 | 所需最大 RAM | 使用場景 |
---|---|---|---|---|---|
claire-7b-0.1.Q2_K.gguf | Q2_K | 2 | 4.02 GB | 6.52 GB | 最小,但質量損失顯著,不建議用於大多數用途 |
claire-7b-0.1.Q3_K_S.gguf | Q3_K_S | 3 | 4.13 GB | 6.63 GB | 非常小,但質量損失高 |
claire-7b-0.1.Q4_0.gguf | Q4_0 | 4 | 4.21 GB | 6.71 GB | 舊版本;小,但質量損失非常高,建議使用 Q3_K_M |
claire-7b-0.1.Q3_K_M.gguf | Q3_K_M | 3 | 4.37 GB | 6.87 GB | 非常小,但質量損失高 |
claire-7b-0.1.Q3_K_L.gguf | Q3_K_L | 3 | 4.56 GB | 7.06 GB | 小,但質量損失較大 |
claire-7b-0.1.Q4_K_S.gguf | Q4_K_S | 4 | 4.75 GB | 7.25 GB | 小,但質量損失更大 |
claire-7b-0.1.Q4_K_M.gguf | Q4_K_M | 4 | 4.98 GB | 7.48 GB | 中等,質量平衡,推薦使用 |
claire-7b-0.1.Q5_0.gguf | Q5_0 | 5 | 5.08 GB | 7.58 GB | 舊版本;中等,質量平衡,建議使用 Q4_K_M |
claire-7b-0.1.Q5_K_S.gguf | Q5_K_S | 5 | 5.34 GB | 7.84 GB | 大,質量損失低,推薦使用 |
claire-7b-0.1.Q5_K_M.gguf | Q5_K_M | 5 | 5.73 GB | 8.23 GB | 大,質量損失非常低,推薦使用 |
claire-7b-0.1.Q6_K.gguf | Q6_K | 6 | 7.03 GB | 9.53 GB | 非常大,質量損失極低 |
claire-7b-0.1.Q8_0.gguf | Q8_0 | 8 | 7.67 GB | 10.17 GB | 非常大,質量損失極低,但不建議使用 |
注意:上述 RAM 數字假設沒有進行 GPU 卸載。如果將層卸載到 GPU,將減少 RAM 使用並使用 VRAM。
如何下載 GGUF 文件
手動下載者注意:幾乎不需要克隆整個倉庫!提供了多種不同的量化格式,大多數用戶只需要選擇並下載單個文件。
以下客戶端/庫將自動為你下載模型,並提供可用模型列表供你選擇:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在 text-generation-webui
中
在“下載模型”下,你可以輸入模型倉庫:TheBloke/Claire-7B-0.1-GGUF,並在其下方輸入要下載的特定文件名,例如:claire-7b-0.1.Q4_K_M.gguf。然後點擊“下載”。
在命令行中,包括一次下載多個文件
建議使用 huggingface-hub
Python 庫:
pip3 install huggingface-hub
然後你可以使用以下命令將任何單個模型文件高速下載到當前目錄:
huggingface-cli download TheBloke/Claire-7B-0.1-GGUF claire-7b-0.1.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更高級的 huggingface-cli 下載用法
你還可以使用模式一次下載多個文件:
huggingface-cli download TheBloke/Claire-7B-0.1-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/Claire-7B-0.1-GGUF claire-7b-0.1.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows 命令行用戶:可以在下載命令之前運行 set HF_HUB_ENABLE_HF_TRANSFER=1
來設置環境變量。
運行示例
示例 llama.cpp
命令
確保使用的是 d0cee0d 或更高版本的 llama.cpp
。
./main -ngl 32 -m claire-7b-0.1.Q4_K_M.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "- Bonjour BotName, {prompt}\n- Bonjour UserName,"
將 -ngl 32
更改為要卸載到 GPU 的層數。如果沒有 GPU 加速,請刪除該參數。
將 -c 2048
更改為所需的序列長度。對於擴展序列模型(例如 8K、16K、32K),必要的 RoPE 縮放參數會從 GGUF 文件中讀取,並由 llama.cpp 自動設置。
如果你想進行聊天式對話,請將 -p <PROMPT>
參數替換為 -i -ins
。
有關其他參數及其使用方法,請參考 llama.cpp 文檔。
如何在 text-generation-webui
中運行
更多說明可以在 text-generation-webui 文檔中找到,地址為:text-generation-webui/docs/04 ‐ Model Tab.md。
如何從 Python 代碼運行
可以使用 llama-cpp-python 或 ctransformers 庫從 Python 中使用 GGUF 模型。
如何在 Python 代碼中加載此模型,使用 ctransformers
首先安裝包,根據你的系統運行以下命令之一:
# 無 GPU 加速的基礎 ctransformers
pip install ctransformers
# 或使用 CUDA GPU 加速
pip install ctransformers[cuda]
# 或使用 AMD ROCm GPU 加速(僅適用於 Linux)
CT_HIPBLAS=1 pip install ctransformers --no-binary ctransformers
# 或僅適用於 macOS 系統的 Metal GPU 加速
CT_METAL=1 pip install ctransformers --no-binary ctransformers
簡單的 ctransformers 示例代碼
from ctransformers import AutoModelForCausalLM
# Set gpu_layers to the number of layers to offload to GPU. Set to 0 if no GPU acceleration is available on your system.
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Claire-7B-0.1-GGUF", model_file="claire-7b-0.1.Q4_K_M.gguf", model_type="falcon", gpu_layers=50)
print(llm("AI is going to"))
如何與 LangChain 一起使用
以下是使用 llama-cpp-python 和 ctransformers 與 LangChain 的指南:
🔧 技術細節
訓練詳情
訓練數據
Claire-7B-0.1 是在以下數據分佈上從 Falcon-7b 微調而來:
數據類型 | 單詞數 | 訓練採樣權重 | 來源 |
---|---|---|---|
議會會議記錄 | 1.35 億 | 35% | assemblee-nationale.fr |
戲劇 | 1600 萬 | 18% | theatre-classique.fr, theatregratuit.com |
訪談 | 640 萬 | 29% | TCOF, CFPP, CFPB, ACSYNT, PFC, Valibel (ORFEO), ESLO |
自由對話 | 220 萬 | 10% | CRFP, OFROM, CID, Rhapsodie, ParisStories, PFC, CLAPI, C-ORAL-ROM (ORFEO), LinTO, ESLO |
會議 | 120 萬 | 5% | SUMM-RE, LinTO, Réunions de travail (ORFEO) |
辯論 | 40.2 萬 | <2% | FreD, ESLO |
協助 | 15.9 萬 | <1% | Fleuron (ORFEO), Accueil UBS, OTG, ESLO |
演講、正式致辭 | 8.6 萬 | <0.5% | Valibel (ORFEO), LinTO, ESLO |
訓練數據使用以下技術進行增強:
- 改變用於表示發言輪次的格式(破折號或 [XXX:])
- 將 [Intervenant X:] 替換為 [SpeakerName:] 或反之,其中 [SpeakerName:] 可能是真實姓名或隨機生成的姓名
- 去除標點符號和/或大小寫(為模型處理某些自動語音識別系統生成的轉錄做準備)
長對話最多截斷為 2048 個標記。在可能的情況下,它們會在發言輪次之間進行分割。
雖然該模型僅在法語對話上進行了訓練和評估,但它可能能夠從原始 Falcon-7b 訓練數據中生成其他語言的對話。
訓練過程
Claire-7B-0.1 是一個僅因果解碼器模型,在因果語言建模任務(即預測下一個標記)上進行訓練。更多詳細信息請參閱 Falcon-7b。
Claire-7B-0.1 在 1 個 A100 80GB GPU 上訓練了約 50 個 GPU 小時。
超參數如下:
超參數 | 值 |
---|---|
精度 | bfloat16 |
優化器 | AdamW |
學習率 | 1e-4 |
權重衰減 | 1e-2 |
批量大小 | 132 |
LoRA 秩 | 16 |
LoRA 阿爾法 | 32 |
丟棄率 | 0.05 |
梯度裁剪 | 1 |
評估
為了評估 Claire-7B-0.1 生成自然法語對話的能力,我們將其對各種提示的響應與其他三個模型的響應進行了比較:
- Falcon-7b
- Mistral-7B-v0.1
- Claire-Mistral-7B-0.1(以與 Claire-7B-0.1 相同的方式調整的 Mistral-7B-v0.1 版本)
我們測試了獨白和對話式提示的均勻混合。每個生成的四個響應在三個維度上進行評估:交互性、流暢性和相關性。評估人員還被要求對四個響應按偏好進行排名。
我們的結果證實,對 Falcon-7b 和 Mistral-7B-v0.1 進行持續預訓練會在所有三個評估維度上帶來改進(相對於基礎模型),並且 Claire-7B-0.1 在流暢性和相關性類別中優於調整後的 Mistral 對應模型(如果我們專注於對話式提示,則在交互性類別中也如此)。
排名結果還顯示出對 Claire-7B-0.1 的明顯主觀偏好,如下表所示:
... 優於 Claire-Falcon |
... 優於 Claire-Mistral |
... 優於 Falcon |
... 優於 Mistral |
|
---|---|---|---|---|
更喜歡 Claire-Falcon ... |
62.2% | 63.9% | 83.8% | |
更喜歡 Claire-Mistral ... |
34.8% | 56.2% | 75.3% | |
更喜歡 Falcon ... |
36.1% | 43.8% | 81.4% | |
更喜歡 Mistral ... |
16.2% | 24.7% | 18.6% |
(在本表中,"Claire-Falcon" 代表 Claire-7B-0.1,"Falcon" 代表 Falcon-7b,"Mistral" 代表 Mistral-7B-v0.1,"Claire-Mistral" 代表 Claire-Mistral-7B-0.1。)
請注意,由於模型在口語和戲劇文本上進行訓練,它可能會生成不流暢和幽默的響應。
更多評估細節將在單獨的出版物中提供。
📄 許可證
由於用於訓練的部分語料庫僅在 CC-BY-NC-SA 許可證下可用,Claire-7B-0.1 在 CC-BY-NC-SA 4.0 許可證 下提供。
你可以在 OpenLLM-France/Claire-7B-Apache-0.1 找到在 Apache 2.0 許可證下發布的此模型的變體。
致謝
這項工作使用了 GENCI–IDRIS 的 HPC 資源(Grant 2023-AD011014561)。
Claire-7B-0.1 由 LINAGORA 的成員創建(按字母順序排列):Ismaïl Harrando, Julie Hunter, Jean-Pierre Lorré, Jérôme Louradour, Michel-Marie Maudet, Virgile Rennard, Guokan Shang。
特別感謝 OpenLLM-France 社區的合作伙伴,特別是 Christophe Cerisara (LORIA)、Pierre-Carl Langlais 和 Anastasia Stasenko (OpSci) 以及 Pierre Colombo 提供的寶貴建議。
聯繫信息
contact@openllm-france.fr
Discord
如需進一步支持,以及討論這些模型和人工智能相關話題,請加入我們的: TheBloke AI 的 Discord 服務器
感謝與貢獻方式
感謝 chirper.ai 團隊!
感謝來自 gpus.llm-utils.org 的 Clay!
很多人詢問是否可以進行貢獻。我喜歡提供模型並幫助他人,也希望能夠花更多時間做這些事情,以及開展新的項目,如微調/訓練。
如果你有能力並願意貢獻,我將非常感激,這將幫助我繼續提供更多模型,並開始新的人工智能項目。
捐贈者將在所有人工智能/大語言模型/模型問題和請求上獲得優先支持,訪問私人 Discord 房間以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別感謝:Aemon Algiz。
Patreon 特別提及:Brandon Frisco, LangChain4j, Spiking Neurons AB, transmissions 11, Joseph William Delisle, Nitin Borwankar, Willem Michiel, Michael Dempsey, vamX, Jeffrey Morgan, zynix, jjj, Omer Bin Jawed, Sean Connelly, jinyuan sun, Jeromy Smith, Shadi, Pawan Osman, Chadd, Elijah Stavena, Illia Dulskyi, Sebastain Graf, Stephen Murray, terasurfer, Edmond Seymore, Celu Ramasamy, Mandus, Alex, biorpg, Ajan Kanaga, Clay Pascal, Raven Klaugh, 阿明, K, ya boyyy, usrbinkat, Alicia Loh, John Villwock, ReadyPlayerEmma, Chris Smitley, Cap'n Zoog, fincy, GodLy, S_X, sidney chen, Cory Kujawski, OG, Mano Prime, AzureBlack, Pieter, Kalila, Spencer Kim, Tom X Nguyen, Stanislav Ovsiannikov, Michael Levine, Andrey, Trailburnt, Vadim, Enrico Ros, Talal Aujan, Brandon Phillips, Jack West, Eugene Pentland, Michael Davis, Will Dee, webtim, Jonathan Leane, Alps Aficionado, Rooh Singh, Tiffany J. Kim, theTransient, Luke @flexchar, Elle, Caitlyn Gatomon, Ari Malik, subjectnull, Johann-Peter Hartmann, Trenton Dambrowitz, Imad Khwaja, Asp the Wyvern, Emad Mostaque, Rainer Wilmers, Alexandros Triantafyllidis, Nicholas, Pedro Madruga, SuperWojo, Harry Royden McLaughlin, James Bentley, Olakabola, David Ziegler, Ai Maven, Jeff Scroggin, Nikolai Manek, Deo Leter, Matthew Berman, Fen Risland, Ken Nordquist, Manuel Alberto Morcote, Luke Pendergrass, TL, Fred von Graf, Randy H, Dan Guido, NimbleBox.ai, Vitor Caleffi, Gabriel Tamborski, knownsqashed, Lone Striker, Erik Bjäreholt, John Detwiler, Leonard Tan, Iucharbius
感謝所有慷慨的贊助者和捐贈者!
再次感謝 a16z 的慷慨資助。



