Ubuntu Weekly Recipe

第876回夏休み特別企画 自作PCを組もう[後編] —⁠—組み立てたあとにローカルLLM「gpt-oss-20b」動かす

前回に引き続き、実際に自作PCを組み、UbuntuをインストールしてLLMを動作させるところまでを行います。

組むときの注意点

ひととおりパーツが揃い、実際に組む段階になったら、手袋があるかどうかを確認してください。

手袋は軍手のようなものではなく、電気を通さないものにしてください。100エンショップでも買えます。

必要な理由はいくつかあり、マザーボードにしろPCケースにしろ鋭利な部分が多く、手袋なしだと生傷が絶えません。ちょっと指を潰してしまった場合の保護もできますし、メモリーやM.2スロットなどの端子に触れて静電気が流れてしまうことも防げます。もっとも、今日日静電気でパーツを壊したという話も聞きませんが。

手袋は可能な限りずっと付けたままとし、細かい作業をするときだけ外すようにしてください。

何よりも大事なのは、これを常に意識してください。

PCパーツで怪我をすると痛いです。本当に痛いです。気をつけてください。

組み上げる

正直なところ、具体的な組み方に関しては動画のほうが圧倒的にわかりやすいです。そして、YouTubeにはその手の動画が無数に掲載されているため、あらためてここで詳しく解説するまでもありません。

というわけで、かいつまんでポイントだけを説明します。

CPUを取り付ける

まず最初にするのは、マザーボードをCPUに取り付けることです。もちろん明確な順番があるわけではありませんが、そうすると組み立てやすいのです図1⁠。

図1 マザーボードにCPUを取り付けたところ

昨今のCPU(今回のLGA1700やAMDのSocket AM5)ではマザーボード側にピンがあります。よってそれらを曲げないように注意が必要です。万が一曲げてしまった場合でも一定期間ピン折れ保証(ピン曲げも含む)がついたマザーボードもあります。CPU側のピン曲げであればなんと復旧できる場合もありますが、マザーボード側だと細かすぎて困難です。

CPU上下に溝があるので向きを誤って取り付けることは構造上ありえませんが、無理にはめようとしてピン曲げを発生させてしまうおそれもあるため、事前に向きはよく確認しましょう。また、マザーボードのピンが曲がっていないことを確認しておくのも重要です。

というのも、ソケットのピンが曲がった場合、どのようなエラーが出るのか予測が困難だからです。筆者の手持ちのマザーボードでピンが曲がってしまったものがありますが、こちらはメモリーエラーで起動しませんでした図2⁠。従前使用していたマザーボードで、CPUもメモリーも起動した経験があったので、あとはもうピン曲がりしかないという消去法で確認してみたところ案の定という経緯でした。

図2 さて、どこのピンが曲がっているか探してみよう

メモリーを取り付ける

例外はあるものの、Micro-ATXサイズのマザーボードではメモリースロットが4つあることが多いです。2枚挿しの場合、接続するスロットが決まっていますので、事前にマニュアルをよく確認してください。たいていの場合はCPUに近いところからA1、A2、B1、B2と割り振ってあります。2枚挿しの場合はA2とB2に接続することが多いです図3⁠。すなわちマザーボードに遠い方から偶数番です。

図3 マザーボードにメモリーを接続したところ

メモリーも向きがありますが、こちらも誤って接続してしまうことはあまりないでしょう。しかし向きが誤っているとメモリーに傷がついてしまうことがあるため、注意してください。

メモリースロットは固いことがあります。その場合、あまり端ではなく中央に近いところから力を加えてやると、スッと入ることがあります。繰り返しますが、力加減には細心の注意を払ってください。

そして、メモリーを触る場合は、手袋必須です。

SSDを取り付ける

マザーボードによってはSSD用のヒートシンクが付属しているものがあります。本マザーボードも該当します。その場合、サーマルパッドには保護シートがついているので、これを忘れずに剥がしてください図4⁠。

図4 これをヒートシンクと呼ぶのかは悩ましいところだが、いずれにせよ保護シートは剥がす

CPUクーラーを取り付ける

原則として、CPUクーラーを取り付けるのはメモリーとSSDを組み込んだ後がおすすめです。今回は該当しませんが、CPUクーラーが大きい場合メモリーやSSDが取り付け不可能になることもあるからです。

CPUクーラーは通常多くのCPUソケットに対応しており、それらを接続するブラケットを用意することによって吸収しています。今回はSocket 1700用のブラケットを取り付けています。このあたりはマニュアルをよく確認してください。

今回使用したIS-40X-V3はありませんが、バックプレートが付属していてそれとCPUクーラーをマザーボードから挟み込むタイプのモデルもあります。それだとマザーボードを裏返さなくても作業できるため、もう少し楽です。このあたりは値段相応といったところです。

CPUクーラーの裏側にも保護シートがついています。これは必ず外しましょう。そうしないとCPUクーラーによる冷却が無駄になります。

図5 ブラケットを取り付けて、保護シートはまだ剥がしていない

CPUグリスをどのくらい塗るのかは難しいところで、さまざまな流儀があります。筆者の場合はちょんちょんと数カ所につける感じにしています図6⁠。薄く全体的に広がることを意識してください。

図6 筆者のグリスの塗り方はこんな感じ

CPUクーラーは、当然ですが電源を取る必要があります。通常のマザーボードであればケース用も含め複数箇所にクーラー用のピンがあるため、どこを使用するのかマザーボードのマニュアルをよく確認してください。もちろん取り付けるのはどこでもいいのですが、クーラー用のピンには順番があって、あとから回転数を確認するような場合にわかりやすいので、1番を使用するのが強くおすすめです。

PCケースに組み込む

PCケースに組み込む際の注意点としては、ケーブリングとパネルヘッダーでしょう。前者はケーブルは可能な限りまとめたほうがいいということで、筆者はねじりっこを使用しています。100円ショップで結束バンドを買ってくるのもいいでしょう。今回は発熱が少ない構成なのでケーブリングは適当です。

後者は電源ボタンやLEDを接続するピンヘッダーですが、なかなかに間違えやすいところです。必ずマニュアルを確認しながら作業しましょう。コネクターをよく見ると▼が書かれており、これはプラスであることを示しています。なお今回のケースにはリセットボタンはありません。

組み込んだところが図7です。

図7 PCケースに組み込んだところ。グラフィックボードは未接続

電源オンとUEFI BIOSアップデート

この段階で一旦電源をオンにしてみて、正しく起動するか確認してください。最近の多くのマザーボードには「Post Status Checker」というLEDがついていて、これが光るところ(場合によっては色)で異常がわかるようになっています。何事もなければLEDが消えて起動してきます。

無事に起動したらOSインストール済みストレージが接続されていない限りUEFI BIOSが表示されます図8⁠。接続したデバイスが正しく認識しているか、CPUファンの速度が取得できているか、UEFI BIOSのバージョンはいくつかなどを確認します。

図8 初回起動時のUEFI BIOS画面

購入したてのマザーボードは、多くの場合は最新のUEFI BIOSになっていないことがあるので、アップデートすることをおすすめします図9図10⁠。

図9 ASRockのマザーボードはInstant Flash機能で、UEFI BIOSをアップデートする。事前にアップデータをダウンロードと展開し、FAT32でフォーマットしたUSBメモリ等にコピーし、起動する
図10 UEFI BIOSのバージョンが10.03になった

起動してしまえば適合したUEFI BIOSであることは間違いないのですが、IntelにしろAMDにしろ多かれ少なかれ不具合が解消されていることが多いです。使用時に最新にすれば、あとのアップデートは任意で構わないですが、筆者はよほどのことがない限りは上げないようにしています。もちろん新しくCPUを購入してそれに対応するために事前にアップデートすることはありますが、このマザーボード(LGA 1700)であればIntelが大胆な方針転換をしない限りは新CPUは登場しません。

Ubuntuインストール

Ubuntuのインストールは、今回の構成であれば特に気をつけるべき点はありません。Wi-Fiも認識しています図11⁠。

図11 Ubuntuインストール後のシステムの詳細

LLMを実行する

GeForce RTX 3050 LP 6Gを接続して、第872回と同じようにローカルLLMを実行できるかを確認します。

モデルは、今話題のgpt-oss-20bにします。

基本的には第872回のとおりですが、NVIDIAのプロプライエタリなドライバーのバージョンは575にアップデートしています図12⁠。

図12 ドライバーのバージョンは575に上がった

またモデルは既存のものをダウンロードすることにしました。次のコマンドを実行してください。

$ cd ~/Downloads/
$ wget https://huggingface.co/unsloth/gpt-oss-20b-GGUF/resolve/main/gpt-oss-20b-Q4_K_M.gguf

llama-benchを実行してみたところ、約20t/sということで、ERNIEよりもやや遅いようです図13⁠。LLMは速さが命というわけではないので、両方試してみて気に入ったモデルを使用するのがいいでしょう。

$ cd ~/git
$ llama.cpp/build/bin/llama-bench -m ~/Downloads/gpt-oss-20b-Q4_K_M.gguf -ngl 10
図13 llama-benchの結果

おすすめ記事

記事・ニュース一覧