許可證:apache-2.0
語言:
- 日語
- 英語
庫名稱:transformers
標籤:
- 日語
Tanuki-8x8B-dpo-v1.0
關於模型
Tanuki-8x8B是從零開始預訓練的大規模語言模型,參數規模為8x8B(總參數約47B,活躍參數約13B),預訓練數據量約1.7T tokens。
Tanuki-8x8B-dpo-v1.0通過SFT和DPO針對對話任務進行了優化。
更多詳細信息請參閱博客文章。
該模型由GENIAC松尾研究室LLM開發項目組織開發,參與者包括公開招募的志願者(企業員工、學生、研究人員等)。
量化模型
AWQ 4bit量化 | GPTQ 4bit量化 | GPTQ 8bit量化 | GGUF量化*
*GGUF版本可能存在性能下降,不推薦使用
使用方法
關於Tanuki-8x8B及其量化模型的各種推理方法,請參閱此文章。
以下是部分推理方法的說明。
本模型推理必須使用flash attention,請按以下方式安裝:
pip install --no-build-isolation flash_attn
以下是使用HuggingFace Transformers進行推理的示例代碼:
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model = AutoModelForCausalLM.from_pretrained("weblab-GENIAC/Tanuki-8x8B-dpo-v1.0", device_map="auto", torch_dtype="auto", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("weblab-GENIAC/Tanuki-8x8B-dpo-v1.0")
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
messages = [
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "たぬきに純粋理性批判は理解できますか?"}
]
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
output_ids = model.generate(input_ids,
max_new_tokens=1024,
temperature=0.5,
streamer=streamer)
如需使用vLLM進行推理,需適配其自定義架構。請從此鏈接構建修改版vLLM:
git clone https://github.com/team-hatakeyama-phase2/vllm.git
cd vllm
LD_LIBRARY_PATH="" MAX_JOBS=16 pip install -e .
以下是使用vLLM進行推理的示例代碼:
from time import time
from vllm import LLM, SamplingParams
model_name = "weblab-GENIAC/Tanuki-8x8B-dpo-v1.0"
vllm = LLM(model_name, trust_remote_code=True, tensor_parallel_size=2)
tokenizer = vllm.get_tokenizer()
messages = [
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "たぬきに純粋理性批判は理解できますか?"}
]
inputs_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
print(f"inputs_text: {inputs_text}")
sampling_params = SamplingParams(temperature=0.0, max_tokens=1024, seed=1, repetition_penalty=1.1)
start = time()
outputs = vllm.generate(inputs_text, sampling_params=sampling_params, use_tqdm=False)
end = time()
outputs_text = outputs[0].outputs[0].text
print(f"outputs_text: {outputs_text}")
print(f"Elapsed time: {(end - start):.4f} sec.")
提示格式
Tanuki-8x8B-dpo-v1.0採用日語版Alpaca的提示格式:
注意:本模型默認系統提示為「以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。」,未學習其他系統提示,建議使用此默認提示。任務詳情應在用戶提示中描述。
基準測試
人工評估
模擬Chatbot Arena系統進行盲測(詳情見此鏈接)
公開全部評估數據(約2000條)

Japanese MT-Bench
GPT-4評估(gpt-4-0613,計算平均分時排除-1分)
|
Tanuki-8B-dpo-v1.0 |
Tanuki-8x8B-dpo-v1.0 |
平均分 |
7.24 |
7.96 |
編程 |
5.4 |
6.75 |
信息提取 |
6.65 |
6.90 |
人文 |
9.1 |
9.3 |
數學 |
3.9 |
5.75 |
邏輯推理 |
5.75 |
7.35 |
角色扮演 |
8.75 |
8.95 |
STEM |
9.35 |
9.40 |
寫作 |
9.05 |
8.85 |
開發成員
畠山歡 [負責人]、asaoka_tadashi、Atsushi Saito、Chattso-GPT、Chihiro Arata、Chihiro HIGUCHI、Daichi Kohmoto、Esty、Hideaki Hayashi、hiroaki shioya、Issei Fujimoto、Jie Zeng、Jinsei Shiraishi、K. Nishizawa、Kazutaka Nishimae、Kunihiro Watanabe、masaki okamura、Minami Someya、Mさん、Nishi、Nishijima、p1atdev、Rumi Nakagawa、Ryota Mitsuhashi、Susumu Ota、takagi、Toshio Nishida、y_morinaga、Yuki Namiuchi、Yukie Kawano、永原恆治、加藤純、河越淳、巖田兼太朗、菊池滿帆、熊田匡仁、江國翔太、佐野敏幸、山口裕輝、西井康隆、川村正春、片上舜、堀江吏將、林寬太(Kanta Hayashi)