Categories: wsl技術

【2025年最新】WSL2+Intel UHD Graphicsでllama.cppを動かす完全ガイド

近年、ローカル環境で大規模言語モデル(LLM)を動かしたいというニーズが急速に高まっています。特に、WindowsユーザーにとってはWSL2(Windows Subsystem for Linux)を活用することで、Linux向けのAIツールや最新のオープンソースLLMを手軽に利用できるようになりました。

その中でも「llama.cpp」は、高速かつ軽量な推論エンジンとして人気です。しかし、NVIDIA製GPUに比べて情報が少ないIntel UHD Graphicsでの利用方法に悩む方も多いのではないでしょうか。

本記事では、Intel UHD Graphicsを搭載したPCでもWSL2上でllama.cppを快適に動かすための手順を、初心者にもわかりやすく解説します。OneAPIとは何か、インストール時の注意点、パフォーマンスを引き出すコツ、トラブル対策まで網羅していますので、ぜひ最後までご覧ください。


事前準備

Windows側設定

  1. WSL2有効化
    PowerShell(管理者権限)で以下を実行します。
wsl --install

2.GPUドライバ更新
Intel Driver & Support Assistantを使い、最新のIntelグラフィックスドライバをインストールしてください

    Ubuntu側設定

    Ubuntuターミナルで以下を実行し、必要なパッケージをインストールします。

    sudo apt update && sudo apt upgrade -y
    sudo apt install build-essential git cmake libclblast-dev -y
    sudo apt install libcurl4-openssl-dev

    OneAPI Toolkitのインストール

    OneAPIとは?

    OneAPI(ワンエーピーアイ)とは、Intelが提供する異種コンピューティング向け統合開発ツールキットです。
    CPU、GPU、FPGAなど異なるアーキテクチャを抽象化し、SYCL(C++ベースの並列プログラミングフレームワーク)を介してIntel GPUの性能を最大限に引き出すために必要な環境です。llama.cppをIntel GPUで高速に動かすには必須となります。

    インストール手順

    wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/fdc7a2bc-b7a8-47eb-8876-de6201297144/l_BaseKit_p_2024.1.0.596.sh

    ⚠️ 重要注意点
    WSL環境で以下のコマンドを実行すると、Windows側にGUIインストーラーが別ウィンドウで起動します。ターミナル操作は不要で、Windows画面の指示に従ってインストールを進めてください。

    sudo sh ./l_BaseKit_p_2024.1.0.596.sh

    インストール完了後、環境変数を設定します。

    echo 'source /opt/intel/oneapi/setvars.sh' >> ~/.bashrc
    source ~/.bashrc

    llama.cppのビルド

    リポジトリクローン

    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp

    Intel UHD向け最適化ビルド

    mkdir build && cd build
    cmake .. \
      -DLLAMA_SYCL=ON \
      -DCMAKE_C_COMPILER=icx \
      -DCMAKE_CXX_COMPILER=icpx \
      -DCMAKE_CXX_FLAGS="-I/opt/intel/oneapi/compiler/latest/linux/include/sycl" \
      -DGGML_SYCL_F16=OFF
    make -j$(nproc)

    モデルのダウンロード

    今回は、SakanaAI/TinySwallow-1.5B-Instruct-GGUF を使用します。
    以下リンクからダウンロードして、任意の場所にダウンロードしたggufファイルを格納してください。https://huggingface.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF/tree/main

    llama.cppの実行方法

    ビルド済みのllama.cppのmain実行ファイルを使い、ダウンロードしたモデルを指定して実行します。

    ./llama.cpp/build/bin/llama-cli -m ./models/tinyswallow-1.5b-instruct-q8_0.gguf -p "こんにちは、自己紹介をしてください。"
    • -mでモデルファイルを指定
    • -pでプロンプトを入力

    パフォーマンス最適化

    環境変数設定

    export GGML_SYCL_MAX_WORK_GROUP_SIZE=256
    export GGML_SYCL_USE_SHMEM=1

    メモリ管理

    sudo sysctl -w vm.overcommit_memory=1

    トラブルシューティング

    GUIインストーラーが表示されない場合

    1. タスクバーでIntelインストーラーを探してください。
    2. それでも表示されない場合は、Windows側で直接実行します。powershell.\l_BaseKit_p_2024.1.0.596.sh

    よくあるエラー対処

    エラー:Failed to detect Intel GPU

    sudo apt install intel-opencl-icd
    sudo usermod -aG render $USER
    reboot

    エラー:Out of Memory

    sudo fallocate -l 8G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile

    エラー: llama.cpp ビルドエラー
    OneAPIのインストーラを再実行して、アップデートがあればアップデートしてください。


    代替実行方法(性能不足時)

    CPUモード

    make clean && make -j$(nproc) LLAMA_NO_ACCELERATE=1
    ./main -m model.gguf -t 8

    レイヤー分割実行

    ./main -m model.gguf -ngl 15 --split-mode layer

    まとめ

    Intel UHD GraphicsでもWSL2環境でllama.cppを動作可能です。最新のOneAPIツールキットと適切な量子化モデルを組み合わせれば、実用的な速度でローカルLLMを利用できます。

    にいやん

    出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村