🚀 Buddhi-128K-Chat
Buddhi-128K-Chatは、128Kのコンテキスト長ウィンドウを持つ汎用的なチャットモデルです。長文書や会話のコンテキストを深く理解し、文書要約や質問応答などのタスクに適しています。
🚀 クイックスタート
Buddhi-128K-Chatの推論を試すには、以下のColabノートブックを利用できます。

また、リリース記事も読むことができます。
🔗 Introducing Buddhi: Open-Source Chat Model with a 128K Context Window 🔗

✨ 主な機能
- 128Kのコンテキスト長ウィンドウを持ち、長文書や会話のコンテキストを深く理解できます。
- Mistral 7B Instructをベースに微調整され、高度な推論能力を備えています。
- YaRN (Yet another Rope Extension) 技術を使用して、最大128,000トークンの拡張コンテキスト長を処理できます。
📦 インストール
vLLMのインストール
!pip install vllm
!pip install flash_attn # If Flash Attention 2 is supported by your System
Flash Attention 2のインストールについては、Flash Attention 2のGitHubリポジトリを参照してください。
💻 使用例
基本的な使用法
from vllm import LLM, SamplingParams
llm = LLM(
model='aiplanet/buddhi-128k-chat-7b',
trust_remote_code=True,
dtype = 'bfloat16',
gpu_memory_utilization=1,
max_model_len= 75000
)
prompts = [
"""<s> [INST] Please tell me a joke. [/INST] """,
"""<s> [INST] What is Machine Learning? [/INST] """
]
sampling_params = SamplingParams(
temperature=0.8,
top_p=0.95,
max_tokens=1000
)
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(generated_text)
print("\n\n")
高度な使用法
import torch
import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
model_name = "aiplanet/Buddhi-128K-Chat"
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="sequential",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
model,
trust_remote_code=True
)
prompt = "<s> [INST] Please tell me a small joke. [/INST] "
tokens = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(
**tokens,
max_new_tokens=100,
do_sample=True,
top_p=0.95,
temperature=0.8,
)
decoded_output = tokenizer.batch_decode(outputs.detach().cpu().numpy(), skip_special_tokens=True)[0]
print(f"Output:\n{decoded_output[len(prompt):]}")
出力例
Output:
Why don't scientists trust atoms?
Because they make up everything.
📚 ドキュメント
モデルの説明
Buddhi-128k-Chatは、128Kのコンテキスト長ウィンドウを持つ汎用的なチャットモデルです。Mistral 7B Instructをベースに微調整され、YaRN (Yet another Rope Extension) 技術を使用して、最大128,000トークンの拡張コンテキスト長を処理できるように最適化されています。この拡張により、Buddhiは長文書や会話のコンテキストを深く理解し、文書要約や質問応答などのタスクに適しています。
アーキテクチャ
Buddhi-128K-Chatモデルは、Mistral-7B Instructベースモデルを微調整して作成されています。Mistral 7B Instruct v0.2を親モデルとして選択したのは、その優れた推論能力のためです。Mistral-7Bモデルのアーキテクチャには、Grouped-Query AttentionやByte-fallback BPEトークナイザーなどの機能が含まれています。元々、このモデルは最大32,768の位置埋め込みを持っています。コンテキストサイズを128Kに増やすために、位置埋め込みを変更する必要があり、そこでYaRNが役立ちます。
ハードウェア要件
128kコンテキスト長の場合
32kコンテキスト長の場合
プロンプトテンプレート
Buddi-128-Chatを使用するには、プロンプトを[INST]と[/INST]トークンで囲む必要があります。最初の命令は文頭識別子で始める必要があります。次の命令はその必要はありません。アシスタントの生成は文末識別子で終了します。
"<s>[INST] What is your favourite condiment? [/INST]"
"Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!</s> "
"[INST] Do you have mayonnaise recipes? [/INST]"
ベンチマーク
長文コンテキストベンチマーク
LongICLBench Banking77
モデル |
1R/2k |
2R/4K |
3R/7K |
4R/9K |
5R/14K |
aiplanet/buddhi-128k-chat-7b |
47.8 |
60.8 |
57.8 |
62.4 |
57.2 |
NousResearch/Yarn-Mistral-7b-128k |
31.6 |
68.6 |
68 |
47 |
65.6 |
CallComply/zephyr-7b-beta-128k |
40.2 |
41.2 |
33.6 |
03 |
0 |
Eric111/Yarn-Mistral-7b-128k-DPO |
28.6 |
62.8 |
58 |
41.6 |
59.8 |
短文コンテキストベンチマーク
モデル |
# パラメータ |
平均 |
ARC (25-shot) |
HellaSwag (10-shot) |
Winogrande (5-shot) |
TruthfulOA (0-shot) |
MMLU (5-shot) |
aiplanet/buddhi-128k-chat-7b |
7B |
64.42 |
60.84 |
84 |
77.27 |
65.72 |
60.42 |
migtissera/Tess-XS-vl-3-yarn-128K |
7B |
62.66 |
61.09 |
82.95 |
74.43 |
50.13 |
62.15 |
migtissera/Tess-XS-v1-3-yarn-128K |
7B |
62.49 |
61.6 |
82.96 |
74.74 |
50.2 |
62.1 |
Eric111/Yarn-Mistral-7b-128k-DPO |
7B |
60.15 |
60.84 |
82.99 |
78.3 |
43.55 |
63.09 |
NousResearch/Yam-Mistral-7b-128k |
7B |
59.42 |
59.64 |
82.5 |
76.95 |
41.78 |
63.02 |
CallComply/openchat-3.5-0106-128k |
7B |
59.38 |
64.25 |
77.31 |
77.66 |
46.5 |
57.58 |
CallComply/zephyr-7b-beta-128k |
7B |
54.45 |
58.28 |
81 |
74.74 |
46.1 |
53.57 |
🔧 技術詳細
フレームワークバージョン
- Transformers 4.39.2
- Pytorch 2.2.1+cu121
- Datasets 2.18.0
- Accelerate 0.27.2
- flash_attn 2.5.6
引用
@misc {Chaitanya890, lucifertrj ,
author = { Chaitanya Singhal, Tarun Jain },
title = { Buddhi-128k-Chat by AI Planet},
year = 2024,
url = { https://huggingface.co/aiplanet//Buddhi-128K-Chat },
publisher = { Hugging Face }
}
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
お問い合わせ
AI PlanetのオープンソースLLMやGenAIスタックを始めるには、DevRel & Communityチームと1対1のミーティングを予約できます。こちらから予約してください。
https://calendly.com/jaintarun
AI Planetでは、AIをすべての人にアクセス可能にするために、このエキサイティングな旅に参加して、最新情報をお楽しみください。