作業メモ

microsoft/phi-4の準備(Mac studio[M1 Max])

2025-02-16 23:32:39
2025-02-16 23:46:01
目次

作業内容

機械学習ライブラリMLXの検証を行うため、microsoft/phi-4を導入する

手順1:事前準備

1. OS確認

  • ターミナルから下記のコマンド操作を行う

taiyos@Mac ~ % sw_vers
ProductName:		macOS
ProductVersion:		15.3.1
BuildVersion:		24D70

2. Python準備

  • ターミナルから下記のコマンド操作を行う

taiyos@Mac ~ % python3 --version
Python 3.13.2

taiyos@Mac ~ % brew install python@3.11

taiyos@Mac ~ % python3.11 --version

Python 3.11.11

手順2:機械学習ライブラリMLXの準備

1. 仮装環境の開始

  • ターミナルから下記のコマンド操作を行う

taiyos@Mac ~ % mkdir -p ~/A.I./mlx
taiyos@Mac ~ % cd ~/A.I./mlx 

aiyos@Mac mlx % python3.11 -m venv venv   

taiyos@Mac mlx % . venv/bin/activate

(venv) taiyos@Mac mlx % python --version

Python 3.11.11

(venv) taiyos@Mac mlx % pip install --upgrade pip

Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (24.3.1)

Collecting pip

  Using cached pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)

Using cached pip-25.0.1-py3-none-any.whl (1.8 MB)

Installing collected packages: pip

  Attempting uninstall: pip

    Found existing installation: pip 24.3.1

    Uninstalling pip-24.3.1:

      Successfully uninstalled pip-24.3.1

Successfully installed pip-25.0.1

2. 機械学習ライブラリMLXのインストール

  • ターミナルから下記のコマンド操作を行う

(venv) taiyos@Mac mlx % pip install -U mlx_lm

手順3:microsoft/phi-4の導入

1. phi-4のファイル取得

  • ターミナルから下記のコマンド操作を行う

(venv) taiyos@Mac mlx % git clone https://huggingface.co/microsoft/phi-4


    

(venv) taiyos@Mac mlx % ls -l phi-4 

total 57277208

-rw-r--r--  1 taiyos  staff         453  2 11 22:20 CODE_OF_CONDUCT.md

-rw-r--r--  1 taiyos  staff        1105  2 11 22:20 LICENSE

-rw-r--r--  1 taiyos  staff       13672  2 11 22:20 README.md

-rw-r--r--  1 taiyos  staff        2697  2 11 22:20 SECURITY.md

-rw-r--r--  1 taiyos  staff        2495  2 11 22:20 added_tokens.json

-rw-r--r--  1 taiyos  staff         820  2 11 22:20 config.json

-rw-r--r--  1 taiyos  staff         156  2 11 22:20 generation_config.json

-rw-r--r--  1 taiyos  staff      916646  2 11 22:20 merges.txt

-rw-r--r--@ 1 taiyos  staff  4933656472  2 11 23:07 model-00001-of-00006.safetensors

-rw-r--r--@ 1 taiyos  staff  4954690712  2 11 23:08 model-00002-of-00006.safetensors

-rw-r--r--@ 1 taiyos  staff  4902241352  2 11 23:07 model-00003-of-00006.safetensors

-rw-r--r--@ 1 taiyos  staff  4771169120  2 11 23:07 model-00004-of-00006.safetensors

-rw-r--r--@ 1 taiyos  staff  4771169120  2 11 23:07 model-00005-of-00006.safetensors

-rw-r--r--@ 1 taiyos  staff  4986116216  2 11 23:08 model-00006-of-00006.safetensors

-rw-r--r--  1 taiyos  staff       20364  2 11 22:20 model.safetensors.index.json

-rw-r--r--  1 taiyos  staff          95  2 11 22:20 special_tokens_map.json

-rw-r--r--  1 taiyos  staff     4253055  2 11 22:20 tokenizer.json

-rw-r--r--  1 taiyos  staff       17737  2 11 22:20 tokenizer_config.json

-rw-r--r--  1 taiyos  staff     1612637  2 11 22:20 vocab.json

注)『*.safetensors』ファイルは『https://huggingface.co/microsoft/phi-4/tree/main』から個別にダウンロードして配置する

2. 動作確認

  • ターミナルから下記のコマンド操作を行う

(venv) taiyos@Mac mlx % python -m mlx_lm.generate --model phi-4 --max-tokens 2000 --prompt "ロールプレイングゲームの作成方法を教え てください。"
==========

ロールプレイングゲーム(RPG)を作成することは、創造性、計画、そしてしばしば技術的なスキルを必要とする興味深いプロセスです。以下は、RPGを作成するためのステップバイステップガイドです:

### 1. 概念の開発

   - ビジョンを定義する: ゲームのジャンル(ファンタジー、サイエンスフィクション、ホラーなど)、テーマ、トーンを決定します。

   - ストーリーを作成する: 主要なプロット、キャラクター、世界観を決定します。強力な物語はプレイヤーを引き込むのに役立ちます。

   - ゲームプレイのメカニクス: キャラクターの進化、戦闘システム、探索、クエストなどのゲームプレイの要素を決定します。

### 2. ゲームデザイン

   - ゲームプレイの設計: ゲームプレイのメカニクスを詳細に説明します。これには、戦闘システム、スキルツリー、経験値システムなどが含まれます。

   - キャラクターの設計: プレイアブルキャラクターとNPCの能力、背景、成長を決定します。

   - 世界の設計: ゲームの世界をマッピングし、主要な場所、地理、文化を決定します。

### 3. ストーリーテリング

   - プロットの構築: 主要なプロットポイント、サブプロット、クライマックスを決定します。

   - キャラクターの開発: キャラクターのバックストーリー、動機、成長アークを作成します。

   - ダイアログと台本: キャラクターの対話とゲーム内のテキストを書きます。

### 4. アートとサウンド

   - アートスタイルの選択: ゲームのビジュアルスタイルを決定します(2D、3D、ピクセルアートなど)。

   - アセットの作成: キャラクター、背景、アイテムのアートワークを作成します。アーティストが必要な場合があります。

   - サウンドデザイン: 音楽、効果音、ボイスオーバーを作成します。サウンドデザイナーを雇うことを検討してください。

### 5. プログラミング

   - ゲームエンジンの選択: Unity、Unreal Engine、Godotなどのゲームエンジンを選択します。

   - コーディング: ゲームプレイのメカニクス、インターフェース、物理シミュレーションを実装します。C#、C++、C#、GDScriptなどのプログラミング言語を使用します。

   - テストとデバッグ: ゲームをテストしてバグを修正し、ゲームプレイを改善します。

### 6. プロトタイピングとテスト

   - プロトタイプの作成: ゲームプレイのメカニクスをテストするための基本的なバージョンを作成します。

   - プレイテスト: プレイヤーにプロトタイプをテストしてフィードバックを収集します。

   - 反復: フィードバックに基づいてゲームを改善します。

### 7. リリースとマーケティング

   - 最終調整: ゲームを最終的に調整し、最適化します。

   - パブリッシング: ゲームをプラットフォーム(Steam、App Store、Google Playなど)にリリースします。

   - マーケティング: ソーシャルメディア、ゲームデモ、プレスリリースを使用してゲームを宣伝します。

### 8. サポートと更新

   - コミュニティの構築: ファンとのコミュニケーションを維持し、フィードバックを収集します。

   - アップデートとパッチ: バグを修正し、新しいコンテンツを追加するためにゲームを更新します。

### ツールとリソース

- ゲームエンジン: Unity、Unreal Engine、Godot、RPG Makerなど。

- アートツール: Adobe Photoshop、Procreate、Blenderなど。

- サウンドツール: Audacity、FL Studio、FMODなど。

- リソース: オンラインコミュニティ、フォーラム、チュートリアル(YouTube、Udemyなど)。

RPGを作成することは時間がかかるプロセスですが、計画と献身を持って取り組むことで、あなたのビジョンを実現することができます。成功を祈っています!

==========

Prompt: 28 tokens, 110.508 tokens-per-sec

Generation: 1521 tokens, 19.014 tokens-per-sec

Peak memory: 29.716 GB

3. 仮装環境の終了

  • ターミナルから下記のコマンド操作を行う

(venv) taiyos@Mac mlx % deactivate
taiyos@Mac mlx % 

この記事を書いた人

taiyos