1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "DataPilot/ArrowCanaria-Llama-8B-SFT-v0.1"
4
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForCausalLM.from_pretrained(
7 model_name,
8 torch_dtype="bfloat16",
9 device_map="auto",
10)
11
12messages = [
13 {"role": "system", "content": "あなたは親しみやすいAIアシスタントです。自然な日本語で会話してください。"},
14 {"role": "user", "content": "最近ちょっと疲れてるんだよね。何かリフレッシュできる方法ない?"},
15]
16
17input_ids = tokenizer.apply_chat_template(
18 messages,
19 add_generation_prompt=True,
20 return_tensors="pt",
21).to(model.device)
22
23outputs = model.generate(
24 input_ids,
25 max_new_tokens=512,
26 temperature=0.7,
27 top_p=0.9,
28 repetition_penalty=1.05,
29 do_sample=True,
30)
31
32response = tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True)
33print(response)
1# vLLM サーバーの起動
2vllm serve DataPilot/ArrowCanaria-Llama-8B-SFT-v0.1 \
3 --dtype bfloat16 \
4 --max-model-len 4096 \
5 --host 0.0.0.0 \
6 --port 8000
1# リクエスト例(curl)
2curl http://localhost:8000/v1/chat/completions \
3 -H "Content-Type: application/json" \
4 -d '{
5 "model": "DataPilot/ArrowCanaria-Llama-8B-SFT-v0.1",
6 "messages": [
7 {"role": "system", "content": "あなたは親しみやすいAIアシスタントです。自然な日本語で会話してください。"},
8 {"role": "user", "content": "最近ちょっと疲れてるんだよね。何かリフレッシュできる方法ない?"}
9 ],
10 "temperature": 0.7,
11 "max_tokens": 512
12 }'
本モデルの学習データは、独自の合成データ生成フレームワーク
SDG_LOOM を活用して作成されています。SDG_LOOM は、高品質な合成データを効率的に生成するためのパイプラインであり、データの品質管理・フィルタリングを体系的に行うことで、学習に最適なデータセットを構築します。
1. CPT(Continual Pre-Training)
tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.5
+ 10k フィルタリング済み高品質日本語合成小説データセット
↓
2. Chat Vector マージ(Mergekit)
CPTモデルに元モデルの Chat Vector をマージし、
対話能力を復元
↓
3. SFT(Supervised Fine-Tuning)
175,000件超の合成データセットで LoRA による
3フェーズカリキュラム学習
Phase 1: 基盤構築 ──▶ Phase 2: 能力拡張 ──▶ Phase 3: 個性統合
65,000件 63,000件 47,000件