Traceback 12b
T
Traceback 12b
secemp9によって開発
TraceBack 12b は Mistral-Nemo-Instruct アーキテクチャに基づく4ビット量子化バージョンで、命令追従と思考連鎖推論タスクに特化しています。
ダウンロード数 1,470
リリース時間 : 3/5/2025
モデル概要
このモデルは最適化された命令追従モデルで、ソリューション生成や思考連鎖推論に適しており、特に効率的な推論のために4ビット量子化処理が施されています。
モデル特徴
4ビット量子化
モデルは4ビット量子化処理されており、メモリ要件を大幅に削減しながら良好な性能を維持
命令最適化
命令追従タスクに特化して最適化されており、複雑な命令を正確に理解して実行可能
思考連鎖推論
思考連鎖推論をサポートし、問題解決の完全な思考プロセスを提示可能
モデル能力
テキスト生成
命令理解
問題解答
推論タスク処理
使用事例
教育
問題解決プロセス生成
学生が複雑な問題の解決プロセスを理解するのを支援
段階的な問題解決アプローチを提供
研究支援
研究アイデア拡張
研究者が研究アイデアを生成・評価するのを支援
多角的な分析視点を提供
🚀 TraceBack 12b Release
TraceBackは、「推論トレースデータの生成を効果的にスケーリングするにはどうすればよいか」という疑問から生まれたものです。推論トレースの作成には、推論モデル(r1、o1、o3など)だけに依存する必要はないことがわかりました。
このモデルには多くの目標がありますが、主なものは以下の通りです。
- 小さなモデル(r1などよりも小さい)を使用するため、推論が高速で、合成推論データセットの生成をより迅速に行えるため、スケーリングが容易です。
- ドメイン外の検証不能な問題に対して、合成トレースを用いた知識蒸留が可能です。
- 入力として使用することで、非推論モデルの出力やデータセットを推論合成データセットに変換できます。
現時点での概念実証では、1と3の目標を達成しており、今後さらにスケーリングする予定です。
- 現在はMistral Nemo 12bをベースモデルとして使用しています。
- 2エポックのみのトレーニングを行っています。
- 微調整(Qlora)には200kのサンプルのみを使用しており、データセットはこちらです。
したがって、まだ改善の余地がたくさんあります。
このモデルは、命令と解決策を入力として使用し、それに基づいた妥当な推論トレースを出力します。私はこれが推論データ生成の未来だと信じています。評価版のリリースにご期待ください。
🚀 クイックスタート
このセクションでは、TraceBack 12bの基本的な使い方を説明します。
✨ 主な機能
- 高速な合成推論データセットの生成を可能にします。
- ドメイン外の非検証可能な問題に対する知識蒸留ができます。
- 非推論モデルの出力やデータセットを推論合成データセットに変換できます。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコードを参考にしてください。
# 必要なライブラリのインストール
pip install transformers torch unsloth axolotl deepspeed
💻 使用例
基本的な使用法
以下は、ChatGPTの命令と解決策を入力として使用した推論の例です。
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# トークナイザーとモデルの読み込み
model_name = "secemp9/TraceBack-12b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# モデルを目的のデバイスに移動
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model.to(device)
# メッセージの定義
messages = [
{"role": "user", "content": """Instruction:
how many r in strawberry
Solution:
There are **three** "r"s in "strawberry."
"""}
]
# ステップ1: チャットテンプレートを適用して、フォーマットされたテキストを文字列として取得
formatted_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
# ステップ2: フォーマットされたテキストをテンソルの辞書にトークナイズ
inputs = tokenizer(formatted_text, return_tensors="pt").to(device)
# 応答の生成
outputs = model.generate(**inputs, max_new_tokens=32000)
# 出力をデコードして表示
generated_text = tokenizer.decode(outputs[0])
print(generated_text)
高度な使用法
unsloth
を使用した例です。
from unsloth import FastLanguageModel
# モデルとトークナイザーの読み込み
model, tokenizer = FastLanguageModel.from_pretrained("secemp9/TraceBack-12b")
# メッセージの定義("stuff_here"を実際の入力に置き換えてください)
messages = [
{"role": "user", "content": """Instruction:
how many r in strawberry
Solution:
There are **three** "r"s in "strawberry."
"""}
]
# ステップ1: チャットテンプレートを適用して、フォーマットされたテキストを文字列として取得
formatted_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
# ステップ2: フォーマットされたテキストをテンソルの辞書にトークナイズ
inputs = tokenizer(formatted_text, return_tensors="pt").to(model.device)
# 応答の生成
outputs = model.generate(**inputs, max_new_tokens=32000)
# 出力をデコードして表示
generated_text = tokenizer.decode(outputs[0])
print(generated_text)
📚 ドキュメント
推論例
ここでは、ChatGPTの命令と解決策をモデルに入力する簡単な例を示します。
データセット例
データセットの形式は、命令 + 解決策: 推論トレースのペアに従っています。以下はサンプル会話です。
{
"messages": [
{
"role": "user",
"content": "Instruction:
text_here
Solution:
text_here
},
{
"role": "assistant",
"content": "text_here"
}
]
}
これは以下のように表示されます。
プロンプト形式
現時点でのプロンプト形式は以下の通りです。
Instruction:
Solution:
モデルの出力は、現時点では特にフォーマットされておらず、推論結果がそのまま出力されます。
🔧 技術詳細
Axolotl設定
UnslothのコードをAxolotlの設定ファイルに変換し、DeepSpeedを使用しています。以下が設定内容です。
config.yml
# ベースモデルの設定
base_model: unsloth/Mistral-Nemo-Instruct-2407-bnb-4bit
load_in_4bit: true
# データセットの設定
datasets:
- path: instruction_solution_to_thought_dataset.jsonl
type: chat_template
# チャットテンプレート
chat_template: chatml
# LoRAアダプターの設定
adapter: lora
lora_r: 16
lora_alpha: 16
lora_dropout: 0
lora_target_modules:
- q_proj
- k_proj
- v_proj
- o_proj
- gate_proj
- up_proj
- down_proj
# トレーニングのハイパーパラメータ
max_seq_length: 128000
micro_batch_size: 2
gradient_accumulation_steps: 8
learning_rate: 3e-5
num_epochs: 3
warmup_steps: 100
optimizer: adamw_8bit
weight_decay: 0.01
lr_scheduler_type: cosine
max_grad_norm: 1.0
output_dir: ./outputs_solution_to_thought
seed: 3407
merge_lora: true
hf_upload: true
hf_repo: secemp9/TraceBack-12b
xformers_attention:
flash_attention: True
bf16: true # BF16混合精度を有効にする
# DeepSpeedによるマルチGPUトレーニング
deepspeed: deepspeed_configs/zero2.json
# オプション: 勾配チェックポインティングを有効にする
gradient_checkpointing: true
deepspeed_configs/zero2.json
{
"zero_optimization": {
"stage": 2,
"allgather_partitions": true,
"allgather_bucket_size": 2e8,
"overlap_comm": true,
"reduce_scatter": true,
"reduce_bucket_size": 2e8,
"contiguous_gradients": true
},
"bf16": {
"enabled": true
},
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"weight_decay": "auto",
"betas": [0.9, 0.999],
"eps": 1e-8
}
},
"scheduler": {
"type": "WarmupLR",
"params": {
"warmup_min_lr": 0,
"warmup_max_lr": "auto",
"warmup_num_steps": "auto"
}
},
"train_micro_batch_size_per_gpu": "auto",
"gradient_accumulation_steps": "auto",
"steps_per_print": 10,
"wandb": {
"enabled": true
}
}
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下でライセンスされています。
📋 モデル情報
属性 | 詳情 |
---|---|
モデル名 | TraceBack 12b |
ベースモデル | unsloth/Mistral-Nemo-Instruct-2407-bnb-4bit |
タグ | generated_from_trainer |
データセット | instruction_solution_to_thought_dataset.jsonl, secemp9/instruction_solution_thought |
Phi 2 GGUF
その他
Phi-2はマイクロソフトが開発した小型ながら強力な言語モデルで、27億のパラメータを持ち、効率的な推論と高品質なテキスト生成に特化しています。
大規模言語モデル 複数言語対応
P
TheBloke
41.5M
205
Roberta Large
MIT
マスク言語モデリングの目標で事前学習された大型英語言語モデルで、改良されたBERTの学習方法を採用しています。
大規模言語モデル 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERTはBERT基礎モデルの蒸留バージョンで、同等の性能を維持しながら、より軽量で高効率です。シーケンス分類、タグ分類などの自然言語処理タスクに適しています。
大規模言語モデル 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instructは多言語大規模言語モデルで、多言語対話ユースケースに最適化されており、一般的な業界ベンチマークで優れた性能を発揮します。
大規模言語モデル 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM - RoBERTaは、100言語の2.5TBのフィルタリングされたCommonCrawlデータを使って事前学習された多言語モデルで、マスク言語モデリングの目標で学習されています。
大規模言語モデル 複数言語対応
X
FacebookAI
9.6M
664
Roberta Base
MIT
Transformerアーキテクチャに基づく英語の事前学習モデルで、マスク言語モデリングの目標を通じて大量のテキストでトレーニングされ、テキスト特徴抽出と下流タスクの微調整をサポートします。
大規模言語モデル 英語
R
FacebookAI
9.3M
488
Opt 125m
その他
OPTはMeta AIが公開したオープンプリトレーニングトランスフォーマー言語モデルスイートで、パラメータ数は1.25億から1750億まであり、GPT-3シリーズの性能に対抗することを目指しつつ、大規模言語モデルのオープンな研究を促進するものです。
大規模言語モデル 英語
O
facebook
6.3M
198
1
transformersライブラリに基づく事前学習モデルで、様々なNLPタスクに適用可能
大規模言語モデル
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1はMetaが発表した多言語大規模言語モデルシリーズで、8B、70B、405Bのパラメータ規模を持ち、8種類の言語とコード生成をサポートし、多言語対話シーンを最適化しています。
大規模言語モデル
Transformers 複数言語対応

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5ベーシック版はGoogleによって開発されたテキスト-to-テキスト変換Transformerモデルで、パラメータ規模は2.2億で、多言語NLPタスクをサポートしています。
大規模言語モデル 複数言語対応
T
google-t5
5.4M
702
おすすめAIモデル
Llama 3 Typhoon V1.5x 8b Instruct
タイ語専用に設計された80億パラメータの命令モデルで、GPT-3.5-turboに匹敵する性能を持ち、アプリケーションシナリオ、検索拡張生成、制限付き生成、推論タスクを最適化
大規模言語モデル
Transformers 複数言語対応

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-TinyはSODAデータセットでトレーニングされた超小型対話モデルで、エッジデバイス推論向けに設計されており、体積はCosmo-3Bモデルの約2%です。
対話システム
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
RoBERTaアーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム 中国語
R
uer
2,694
98