🚀 Tanuki-8x8B-dpo-v1.0
Tanuki-8x8B-dpo-v1.0 是一个大规模语言模型,基于约 1.7T 标记进行从头预训练。它经过 SFT 和 DPO 调整,适用于对话场景。该模型由 GENIAC 松尾研 LLM 开发项目下的众多参与者共同开发。
🚀 快速开始
本模型推理需要安装 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 基于约 1.7T 标记从头预训练,拥有 8x8B 参数(总参数约 47B,活跃参数约 13B)。
- Tanuki-8x8B-dpo-v1.0 经过 SFT 和 DPO 调整,适用于对话场景。
- 支持多种量化模型,包括 AWQ 4bit 量化、GPTQ 4bit 量化、GPTQ 8bit 量化 和 GGUF 量化(GGUF 版可能存在性能下降问题,不推荐使用)。
- 使用日本语版 Alpaca 的提示格式。
📚 详细文档
提示格式
Tanuki-8x8B-dpo-v1.0 使用日本语版 Alpaca 的提示格式:
建议使用默认的系统提示「以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。」,并将任务详细信息写在用户提示中。
基准测试
人工评估
创建了一个模拟 Chatbot Arena 的系统,并进行了人工盲测(详情见 这里)。已公开 所有评估数据(约 2000 条)。

日语 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 |
科学技术 |
9.35 |
9.40 |
写作 |
9.05 |
8.85 |
🔧 技术细节
Tanuki-8x8B 是一个从头开始进行约 1.7T 标记预训练的大规模语言模型,拥有 8x8B 参数(总参数约 47B,活跃参数约 13B)。Tanuki-8x8B-dpo-v1.0 在此基础上,通过 SFT 和 DPO 进行了对话场景的调整。更多详细信息可参考 博客文章。
📄 许可证
本项目采用 Apache-2.0 许可证。
👥 开发成员
畠山 歓 [领导者]、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)