ガイド:32GB RAMのコンピュータでPhi-2を実行する方法
はじめに
Phi-2は強力な言語モデルであり、実行には十分な性能を持つハードウェアが必要です。このガイドでは、32GB RAMのコンピュータでPhi-2をインストールして実行する方法を説明します。環境の準備からモデルの実行まで、すべての重要なステップをカバーします。
前提条件
インストールを開始する前に、システムが次の要件を満たしていることを確認してください:
- オペレーティングシステム:Linux(Ubuntu 20.04/22.04が推奨)またはWindows 10/11
- プロセッサ:Intel i7以降、AMD Ryzen 7以降
- RAM:32GB(より高いパフォーマンスのためには64GBが推奨)
- グラフィックカード:NVIDIA RTX 3060以降(より高いパフォーマンスのためにはRTX 4090が推奨)
- ディスク容量:少なくとも50GBの空き容量
環境のインストール
1. Pythonのインストール
Phi-2はPython 3.8以降が必要です。パッケージマネージャーを使用してインストールできます:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. 仮想環境の作成
仮想環境を作成することで、他のパッケージとの競合を避けることができます:
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. 依存関係のインストール
必要なパッケージをインストールします:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Phi-2モデルのダウンロード
Hugging Face Transformersライブラリを使用してPhi-2モデルをダウンロードできます:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", load_in_8bit=True)
メモリの設定
32GB RAMのコンピュータでは、8ビット量子化などのメモリ最適化を使用することを推奨します:
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
モデルの実行
これでモデルを実行してテストできます:
prompt = "人生の意味は何ですか?"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
最適化
1. DeepSpeedの使用
DeepSpeedはメモリとパフォーマンスの最適化ツールです:
pip install deepspeed
2. DeepSpeedの設定
ds_config.jsonファイルを作成します:
{
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
3. DeepSpeedで実行
from transformers import AutoModelForCausalLM, AutoTokenizer
import deepspeed
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, export=False)
ds_config = {
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
model_engine, optimizer, _, _ = deepspeed.initialize(
model=model,
config=ds_config
)
まとめ
32GB RAMのコンピュータでPhi-2を実行するには、環境の準備とメモリ最適化が必要です。このガイドでは、Pythonのインストール、仮想環境の作成、モデルのダウンロード、メモリ設定などの重要なステップを説明しました。これらのステップに従うことで、Phi-2を実行してその強力な機能を活用できるはずです。