|
--- |
|
library_name: transformers |
|
tags: |
|
- reasoning |
|
- merge |
|
- llama |
|
- deepseek |
|
license: llama3.1 |
|
language: |
|
- en |
|
- ja |
|
base_model: |
|
- tokyotech-llm/Llama-3.1-Swallow-8B-v0.2 |
|
--- |
|
|
|
# Llama-3.1-Swallow-8B-v0.2-reasoningvector-deepseek-r1 |
|
|
|
DeepSeekの蒸留モデルから推論能力を抽出した重みの差分を、日本語モデルにマージしたモデルです。 |
|
つまり、This Model = Japanese Model + (Reasoning Model - Base Model) |
|
|
|
- **Base Model**: [meta-llama/Llama-3.1-8B](https://huggingface.co/meta-llama/Llama-3.1-8B) |
|
- **Reasoning Model**: [deepseek-ai/DeepSeek-R1-Distill-Llama-8B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B) |
|
- **Japanese Model**: [tokyotech-llm/Llama-3.1-Swallow-8B-v0.2](https://huggingface.co/tokyotech-llm/Llama-3.1-Swallow-8B-v0.2) |
|
|
|
## 使用方法 |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
# モデルとTokenizerの取得 |
|
model_name = "HachiML/Llama-3.1-Swallow-8B-v0.2-reasoningvector-deepseek-r1" |
|
jp_model = AutoModelForCausalLM.from_pretrained( |
|
model_name, |
|
torch_dtype=torch.bfloat16, |
|
device_map="auto", |
|
) |
|
jp_tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
|
# チャットメッセージの準備 |
|
chat = [ |
|
{"role": "user", "content": "\[p = \sum_{k = 1}^\infty \frac{1}{k^2} \quad \text{および} \quad q = \sum_{k = 1}^\infty \frac{1}{k^3}\]と定義する。 \[\sum_{j = 1}^\infty \sum_{k = 1}^\infty \frac{1}{(j + k)^3}\]を \( p \) および \( q \) を用いて表す方法を求めよ。"}, |
|
] |
|
|
|
# 推論の実行 |
|
with torch.no_grad(): |
|
token_ids = jp_tokenizer.apply_chat_template(chat, return_tensors="pt") |
|
output_ids = jp_model.generate( |
|
token_ids.to(jp_model.device), |
|
temperature=0.0, |
|
max_new_tokens=2048, |
|
) |
|
output = jp_tokenizer.decode(output_ids[0][token_ids.size(1) :]) |
|
print(output) |
|
``` |