Inference Unlimited

ガイド:32GB RAMのコンピュータでPhi-2を実行する方法

はじめに

Phi-2は強力な言語モデルであり、実行には十分な性能を持つハードウェアが必要です。このガイドでは、32GB RAMのコンピュータでPhi-2をインストールして実行する方法を説明します。環境の準備からモデルの実行まで、すべての重要なステップをカバーします。

前提条件

インストールを開始する前に、システムが次の要件を満たしていることを確認してください:

環境のインストール

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を実行してその強力な機能を活用できるはずです。

Język: JA | Wyświetlenia: 6

← Powrót do listy artykułów