日本語言語モデルJapanese StableLM Base Alpha 7Bを Windows で動かす(Python,PyTorch を使用)(Windows 上)
【要約】 日本語言語モデルJapanese StableLM Base Alpha 7BをWindowsで動かす手順は以下の通りである.まず,「pip install sentencepiece einops」と「pip install transformers」で必要なライブラリをインストールする.HuggingFaceの公式ページ https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b に記載された手順に従い,そのページ内のPythonプログラムを実行する.さらに,このページではTkinterライブラリを使用してGUIを構築し,ユーザーからのメッセージをこのモデルに与え、結果を表示する Python アプリのソースコードと実行手順も示している.
アプリの実行画面

【目次】
- 前準備
- 日本語言語モデルJapanese StableLM Base Alpha 7Bを Windows で動かす
- 日本語言語モデルJapanese StableLM Base Alpha 7B に文章を与え,回答を得るプログラム
【関連する外部ページ】
- Japanse StableLM Alpha のリリース: https://ja.stability.ai/blog/japanese-stablelm-alpha
- Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b
- Japanese StableLM Instruct Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-instruct-alpha-7b
前準備
Python のインストール(Windows上)
注:既にPython(バージョン3.12を推奨)がインストール済みの場合は,この手順は不要である.
winget(Windowsパッケージマネージャー)を使用してインストールを行う
- Windowsで,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- winget(Windowsパッケージマネージャー)が利用可能か確認する:
winget --version
- Pythonのインストール(下のコマンドにより Python 3.12 がインストールされる).
- Python詳細ガイド:Pythonまとめ »
【関連する外部サイト】
【サイト内の関連ページ】
Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)
CUDAツールキットは、GPU上でコードをコンパイルするためにC++コンパイラを必要とします。そのため、事前にMicrosoft C++ Build Tools または Visual Studio (C++開発ワークロードを含む) をインストールしておく必要があります。
【インストールの判断】 Build Tools for Visual Studio は,C++コンパイラなどを含む開発ツールセットです. Visual Studio は統合開発環境であり,いくつかのエディションがあり,Build Tools for Visual Studioの機能を含むか連携して使用します.インストールは以下の基準で判断してください:
- コマンドラインからのビルドなど、C++コンパイラ機能のみが必要な場合:
- Visual Studioのエディタやデバッガなどの統合開発環境機能が必要な場合、あるいは、どちらをインストールすべきかよく分からない場合:
Visual Studio Community (または他のエディション) をインストール します.
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」ワークロードを選択することで,必要なBuild Toolsの機能も一緒にインストールされます.
不明な点がある場合は,Visual Studio 全体をインストール する方が、後で機能を追加する手間が省ける場合があります.
Build Tools for Visual Studio 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)。
以下の
winget
コマンドを実行します。winget
はWindows標準のパッケージマネージャーです。--scope machine
オプションはシステム全体にインストールすることを意味します。次のコマンドは,Build Tools for Visual Studio 2022と、多くのプログラムで必要とされるVC++ 2015以降の再頒布可能パッケージをインストールします.
- Build Tools for Visual Studio 2022 で C++ によるデスクトップ開発関連コンポーネントのインストール
CUDA開発には、標準のC++開発ツールに加えて、特定のコンポーネントが必要になる場合があります。
- Visual Studio Installer を起動します。
起動方法: スタートメニューから「Visual Studio Installer」を探して実行します.
- Visual Studio Build Tools 2022 の項目で「変更」ボタンをクリックします.
- 「ワークロード」タブで「C++ によるデスクトップ開発」をクリックして選択します。画面右側の「インストールの詳細」で、必要に応じて「v143 ビルドツール用 C++/CLI サポート(最新)」、「ATL」、「MFC」などをチェックします(これらは一般的なC++開発や特定のプロジェクトタイプで必要になる場合があります)。その後、「変更」をクリックしてインストールまたは変更を適用します.
- Visual Studio Installer を起動します。
Visual Studio Community 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動します。
- インストールコマンドの実行
以下の
winget
コマンドを実行します。--override "--add ..."
部分で、インストールするワークロードやコンポーネントを指定しています。winget install Microsoft.VisualStudio.2022.Community --scope machine --override "--add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows.SDK.Latest Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC" winget install Microsoft.VisualStudio.2022.Community --scope machine Microsoft.VCRedist.2015+.x64
インストールされる主要なコンポーネントの説明:
NativeDesktop
(C++によるデスクトップ開発): CUDA開発に必要なC++コンパイラ(VC.Tools.x86.x64
)やWindows SDK (Windows.SDK.Latest
)など、基本的な開発ツール一式を含みます。CoreEditor
: Visual Studioの基本的なコードエディタ機能を提供します。VC.CLI.Support
: C++/CLIを用いた開発サポート(通常、純粋なCUDA C++開発では不要な場合もあります)。NuGet
: .NETライブラリ管理用(C++プロジェクトでも利用されることがあります)。VC.ATL
/VC.ATLMFC
: 特定のWindowsアプリケーション開発フレームワーク(通常、CUDA開発自体には直接必要ありません)。
システム要件と注意事項:
- 管理者権限でのインストールが必須です。
- 必要ディスク容量:10GB以上(選択するコンポーネントにより変動)。
- 推奨メモリ:8GB以上のRAM。
- インストール過程でシステムの再起動が要求される可能性があります。
- 安定したインターネット接続環境が必要です。
後から追加のコンポーネントが必要になった場合は,Visual Studio Installerを使用して個別にインストールすることが可能です.
- インストール完了の確認
インストールが成功したか確認するには、管理者権限のコマンドプロンプトで以下のコマンドを実行します。
winget list Microsoft.VisualStudio.2022.Community
リストに表示されればインストールされています。
トラブルシューティング:
インストール失敗時は,以下のログファイルを確認すると原因究明の手がかりになります:
%TEMP%\dd_setup_
.log %TEMP%\dd_bootstrapper_ .log (
は実行日時に対応する文字列) - (オプション) Visual Studio Installer での確認と変更
winget
でのインストール後も、Visual Studio Installerを使ってインストール内容を確認・変更できます。- Visual Studio Installer を起動します。
- Visual Studio Community 2022 の項目で「変更」をクリックします。
- 「ワークロード」タブで「C++ によるデスクトップ開発」がチェックされていることを確認します。必要であれば、「個別のコンポーネント」タブで特定のツール(例: 特定バージョンのMSVCコンパイラ、CMakeツールなど)を追加・削除できます。「インストールの詳細」で「v143 ビルドツール用 C++/CLI サポート(最新)」などが選択されているかも確認できます。変更後、「変更」または「インストール」をクリックします。
PyTorch のインストール(Windows 上)
Windows 環境に PyTorch をインストールする手順を解説します.主に pip を使用する方法と Miniconda (conda) を使用する方法を紹介します.
1. 実行前の準備
インストール作業を行う前に,以下の準備と確認を行ってください.
- 管理者権限でのコマンドプロンプト/Miniconda Prompt 起動:
インストールコマンドは管理者権限で実行することを推奨します.Windows キーを押し「cmd」または「Miniconda Prompt」と入力し,「管理者として実行」を選択して起動してください. - Python 環境:
システムに Python がインストールされ,pip または Miniconda (conda) が利用可能な状態であることを確認してください. - NVIDIA CUDA Toolkit (GPU版を利用する場合):
PyTorch で NVIDIA GPU を利用する場合は,対応する GPU と,適切なバージョンの NVIDIA CUDA Toolkit が事前にインストールされている必要があります.- CUDA バージョンの確認: コマンドプロンプト等で
nvcc --version
を実行し,バージョンを確認します.この例では CUDA 11.8 がインストール済みであると仮定します. - 互換性の確認: インストールする PyTorch と互換性のある CUDA バージョンを PyTorch 公式サイトで確認してください.
- CUDA バージョンの確認: コマンドプロンプト等で
2. PyTorch 公式サイトでのコマンド確認
【重要】 PyTorch のインストールコマンドは,OS,パッケージ管理ツール (pip/conda),Python バージョン,CUDA バージョンによって異なります.必ず以下の PyTorch 公式サイトで,ご自身の環境に合った最新のインストールコマンドを確認・実行してください.
- PyTorch 公式サイト (インストールページ): https://pytorch.org/get-started/locally/
以下の手順で示すコマンドは,特定の環境(例: CUDA 11.8)における一例です.
3. pip を使用したインストール
Python 標準のパッケージ管理ツール pip
を使用する方法です.
(1) pip の更新 (任意)
python -m pip install --upgrade pip
(2) 既存の PyTorch 関連パッケージのアンインストール (推奨)
古いバージョン等がインストールされている場合に実行します.
python -m pip uninstall torch torchvision torchaudio
# 必要に応じて torchtext, xformers などもアンインストール
# python -m pip uninstall torchtext xformers
(3) PyTorch のインストール
【注意】 必ず公式サイトで生成したコマンドを使用してください.以下は CUDA 11.8 環境向けの 一例 です.
# 公式サイトで取得した pip install コマンドを実行
# 例 (CUDA 11.8):
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
(4) インストールの確認
python -c "import torch; print(f'PyTorch Version: {torch.__version__}'); print(f'CUDA Available: {torch.cuda.is_available()}')"
CUDA Available: True
と表示されれば,GPU が正しく認識されています (GPU 環境の場合).

4. Miniconda (conda) を使用したインストール
データサイエンス環境構築によく使われる Miniconda (または Anaconda) を使用している場合は,conda
コマンドでもインストールできます.
注意点:
conda
環境では,PyTorch のような複雑な依存関係を持つライブラリの場合,pip
よりも依存関係の問題が発生することがあります.問題が発生した場合は,pip を使用したインストール(セクション3)を試すことを検討してください.
(1) Miniconda Prompt (または Anaconda Prompt) の起動
管理者として実行で Miniconda Prompt を起動します.
(2) PyTorch のインストール
【注意】 必ず公式サイトで Package に Conda
を選択し,生成されたコマンドを使用してください.以下は CUDA 11.8 環境向けの 一例 です.
# 公式サイトで取得した conda install コマンドを実行
# 例 (CUDA 11.8):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
-c pytorch -c nvidia
は,PyTorch と NVIDIA の公式 conda チャネルを指定しています.
(3) インストールの確認
python -c "import torch; print(f'PyTorch Version: {torch.__version__}'); print(f'CUDA Available: {torch.cuda.is_available()}')"
関連情報
【サイト内の関連ページ】
【関連する外部ページ】
- PyTorch 公式サイト (インストール): https://pytorch.org/get-started/locally/
- PyTorch 公式サイト (トップ): https://pytorch.org/
日本語言語モデルJapanese StableLM Base Alpha 7Bを Windows で動かす
Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b に記載の手順をそのまま動かす.
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- sentencepiece, einops のインストール
pip install sentencepiece einops
- transformers のインストール
pip install transformers
- Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b に記載の手順をそのまま動かす.
- まず python を起動
python
- Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7bのプログラムをそのまま実行
- 実行結果の確認
エラーメッセージが出ていないことを確認
- まず python を起動
日本語言語モデルJapanese StableLM Base Alpha 7B に文章を与え,回答を得るプログラム
このプログラムは,ユーザーからのメッセージを受け取り,それを 日本語言語モデルJapanese StableLM Base Alpha 7B に与え,画面に表示する. 履歴は保存され,画面で過去の履歴も閲覧可能である.
GUIの構築には,Tkinterライブラリを用いている. 履歴の表示にはリストボックスとスクロールバーを用い,ユーザーからのメッセージ入力はテキストフィールドで受け付け,そのメッセージの送信のために「Send」ボタンを配置している.
- Windows で,コマンドプロンプトを実行
- エディタを起動
cd /d c:%HOMEPATH% notepad stablelm.py
- エディタで,次のプログラムを保存
Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7bのプログラムに機能を加えたものである.
import torch from transformers import LlamaTokenizer, AutoModelForCausalLM import tkinter as tk import textwrap WIDTH = 50 tokenizer = LlamaTokenizer.from_pretrained("novelai/nerdstash-tokenizer-v1") model = AutoModelForCausalLM.from_pretrained( "stabilityai/japanese-stablelm-base-alpha-7b", trust_remote_code=True, ) model.half() if torch.cuda.is_available(): model = model.to("cuda") def do_chat(user_message): input_ids = tokenizer.encode( user_message.strip(), add_special_tokens=False, return_tensors="pt" ) # this is for reproducibility. # feel free to change to get different result seed = 23 torch.manual_seed(seed) tokens = model.generate( input_ids.to(device=model.device), max_new_tokens=128, temperature=1, top_p=0.95, do_sample=True, ) out = tokenizer.decode(tokens[0], skip_special_tokens=False) return out def send_message(): user_message = entry_field.get("1.0", tk.END) for part in user_message.split('\n'): wrapped_message = textwrap.wrap(part, width=50) for line in wrapped_message: chat_history.insert(tk.END, "Q: " + line) entry_field.delete("1.0", tk.END) ai_message = "A: " + do_chat(user_message) for part in ai_message.split('\n'): wrapped_ai_message = textwrap.wrap(part, width=50) for line in wrapped_ai_message: chat_history.insert(tk.END, line) root = tk.Tk() root.title("Chat with AI") frame = tk.Frame(root) scroll = tk.Scrollbar(frame) chat_history = tk.Listbox(frame, yscrollcommand=scroll.set, width=2 * WIDTH) scroll.pack(side=tk.RIGHT, fill=tk.Y) chat_history.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) frame.pack() entry_field = tk.Text(root, width=2 * WIDTH, height=5) entry_field.pack() send_button = tk.Button(root, text="Send", command=send_message) send_button.pack() root.mainloop()
- Python プログラムの実行
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.
Python のまとめ: 別ページ »にまとめ
プログラムを stablelm.pyのようなファイル名で保存したので, 「python stablelm.py」のようなコマンドで行う.
python stablelm.py
- 実行の結果,モデルの読み込みが始まる(少し時間がかかる).その後,画面が開く,
画面下部の枠にメッセージを入力し,「Send」ボタンをクリックすると,画面上部で日本語言語モデルからの回答を確認できる.画面上部は履歴になっており,スクロールバーでスクロールできる.
上のプログラムは, stabilityai/japanese-stablelm-base-alpha-7b を使うようにしています.
対話のための学習が行われている stabilityai/japanese-stablelm-instruct-alpha-7b の方を使う場合には,利用者自身でライセンスを注意深く確認することをお薦めします.あわせて HuggingFace のログイン等を行う必要があるでしょう.