日本語言語モデル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 アプリのソースコードと実行手順も示している.

アプリの実行画面

目次

  1. 前準備
  2. 日本語言語モデルJapanese StableLM Base Alpha 7Bを Windows で動かす
  3. 日本語言語モデルJapanese StableLM Base Alpha 7B に文章を与え,回答を得るプログラム

関連する外部ページ

前準備

Build Tools for Visual Studio 2026 のインストール(Windows 上) [クリックして展開]

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合、この手順は不要である。

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

--add で追加されるコンポーネント

上記のコマンドでは,まず Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし,次に setup.exe を用いて以下のコンポーネントを追加している。

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

Visual Studio の機能を必要とする場合は、追加インストールできる。

Python 3.7 のインストール(Windows 上) [クリックして展開]

以下のいずれかの方法で Python 3.7 をインストールする。Python がインストール済みの場合、この手順は不要である。

方法1:winget によるインストール

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

winget install -e --id Python.Python.3.7 --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 AssociateFiles=1 InstallLauncherAllUsers=1"

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。

方法2:インストーラーによるインストール

  1. Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.7.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

Build Tools for Visual Studio 2026 のインストール(Windows 上) [クリックして展開]

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合、この手順は不要である。

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

--add で追加されるコンポーネント

上記のコマンドでは,まず Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし,次に setup.exe を用いて以下のコンポーネントを追加している。

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

Visual Studio の機能を必要とする場合は、追加インストールできる。

PyTorch のインストール(Windows 上)

Windows 環境に PyTorch をインストールする手順を解説します.主に pip を使用する方法と Miniconda (conda) を使用する方法を紹介します.

1. 実行前の準備

インストール作業を行う前に,以下の準備と確認を行ってください.

2. PyTorch 公式サイトでのコマンド確認

【重要】 PyTorch のインストールコマンドは,OS,パッケージ管理ツール (pip/conda),Python バージョン,CUDA バージョンによって異なります.必ず以下の PyTorch 公式サイトで,ご自身の環境に合った最新のインストールコマンドを確認・実行してください.

以下の手順で示すコマンドは,特定の環境(例: 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()}')"

関連情報

サイト内の関連ページ

関連する外部ページ

日本語言語モデルJapanese StableLM Base Alpha 7Bを Windows で動かす

Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b に記載の手順をそのまま動かす.

  1. 以下の手順を管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
  2. sentencepiece, einops のインストール
    pip install sentencepiece einops
    
  3. transformers のインストール
    pip install transformers
    
  4. Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b に記載の手順をそのまま動かす.
    1. まず python を起動
      python
      
    2. Japanese StableLM Base Alpha 7B の HuggingFace の公式ページ: https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7bのプログラムをそのまま実行
    3. 実行結果の確認

      エラーメッセージが出ていないことを確認

日本語言語モデルJapanese StableLM Base Alpha 7B に文章を与え,回答を得るプログラム

このプログラムは,ユーザーからのメッセージを受け取り,それを 日本語言語モデルJapanese StableLM Base Alpha 7B に与え,画面に表示する. 履歴は保存され,画面で過去の履歴も閲覧可能である.

GUIの構築には,Tkinterライブラリを用いている. 履歴の表示にはリストボックスとスクロールバーを用い,ユーザーからのメッセージ入力はテキストフィールドで受け付け,そのメッセージの送信のために「Send」ボタンを配置している.

  1. Windows で,コマンドプロンプトを実行
  2. エディタを起動
    cd /d c:%HOMEPATH%
    notepad stablelm.py
    
  3. エディタで,次のプログラムを保存

    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()
    
  4. Python プログラムの実行

    プログラムを stablelm.pyのようなファイル名で保存したので, 「python stablelm.py」のようなコマンドで行う.

    python stablelm.py
    
  5. 実行の結果,モデルの読み込みが始まる(少し時間がかかる).その後,画面が開く,

    画面下部の枠にメッセージを入力し,「Send」ボタンをクリックすると,画面上部で日本語言語モデルからの回答を確認できる.画面上部は履歴になっており,スクロールバーでスクロールできる.

上のプログラムは, stabilityai/japanese-stablelm-base-alpha-7b を使うようにしています.

対話のための学習が行われている stabilityai/japanese-stablelm-instruct-alpha-7b の方を使う場合には,利用者自身でライセンスを注意深く確認することをお薦めします.あわせて HuggingFace のログイン等を行う必要があるでしょう.