・AI環境を構築するためUbuntuを使いたい
・仮想環境でもNVIDIAなどのGPUを認識させたい
・トラブルのもとになるためデュアルブートは避けたい
WSLを使ってAI用の環境を構築する方法を紹介します。まずはUbuntuのインストールの仕方から記事にしました。
AIを扱うには、それ専用の環境を用意することが重要です。AIの環境を構築する上でやはり肝となるのは、GPUを活用することです。CPUでできないこともないのですが、学習とかが非常に時間がかかり、とても現実的ではないためです。
AIの学習で使われるcudaというPythonライブラリのため、GPUにはNVIDIAのGeForce GTXを利用しています。
ただAIの環境を構築するにしても皆さんが使い慣れているWindowsならともかく、AIの開発等で使われやすいLinux、例えばUbuntuをインストールするのは非常に敷居が高いものがあります。
今回WSL2(Windows Subsystem for Linux 2)を使用して、Ubuntuのインストールからやってみましたので、それを紹介いたします。
Ubuntuのインストールが難しい理由
本章ではUbuntuのインストールが難しい理由として、以下の観点で説明します。
- Windows上で動作する仮想環境アプリではGPUが認識しない
- デュアルブートはOSが起動しないリスクがある
仮想環境アプリではGPUが認識しない
例えばデフォルトでWindowsが搭載されているPCでUbuntuのAIツールを動かしたいとします。ここではUbuntuの利用は検証程度で、基本はWindowsだとします。
こうなると1番思いつくUbuntu利用方法Windows上にVMWareなどのアプリで仮想環境化することです。しかしながら、VMWareなどの仮想環境アプリではGPUが認識しないことがありました。
ドライバとかを入れてもどうしても認識せず、これでは学習に使えませんでした。
こうなると「デュアルブートにするのがいいのでは」という風になるのですがここで2つ目の問題があります。
デュアルブートはOSが起動しないリスクがあること
デュアルブート、つまり1台のPCにWindowsとUbuntuを搭載し、PC起動時にOSを選べるようにする方法です。これであれば、例えばUbuntuにてAIの学習をさせたいときに、GPUを認識した状態で使うことができます。
しかしながら、デュアルブートはトラブルのもとになることがあります。例えばUbuntuをインストールしたときに、PC起動の最初に読まれるブートローダがUbuntu専用に書き換えられてしまいます。こうなるとUbuntuが不要になってアンインストールしたときに、Windowsまで起動できなくなってしまうことが多くあります。
ブートローダについては「「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典」さんの記事が詳しいです
ブートローダの修復をしてWindowsが起動できるように戻したと思ったら、今度はUbuntuが読めなくなったりもするため、かなり面倒です。AIの検証を目的にしている割にはかなり初期段階での苦戦で非常にパフォーマンスが悪いです。
価格:3520円 |
WSLの概要
WSL2(Windows Subsystem for Linux 2)は、Windows上でLinux環境を実行するための仕組みです。WSL2を利用することで、プロジェクトや開発環境ごとに独立したLinux環境を手軽に構築できます。
最初のバージョンであるWSL1のベータ版が2016年8月に、正式版が2017年10月に公開されました。2019年2月には次バージョンであるWSL2が公開されました。
WSL1の時点で動作に必要なメモリが少なく、軽量に動作し、起動も早いという状態でした。しかし動作するカーネルがLinuxではなく、LxCore.sys/Lxss.sysというドライバがLinuxシステムコールを受け取り、それをWindowsシステムコールへと変換するといった動作でした。これに起因するソフトウェアの不具合もありました。
WSL2は、WSL1よりも起動が早くなりました。加えてカーネルがLinuxとなり、ソフトウェアの互換性も担保されたものとなっています。
今回、WSL2を利用してUbuntuをインストールしました。次章では、具体的な手順を説明します。
WSL2でUbuntu環境を構築する手順
本章でWSL2でUbuntu環境を構築する手順を紹介します。
① まずはWSL2をインストールする必要があため、PowerShellを管理者モード1で起動します。
② PowerShell上で以下を入力し、Enterキーを押してください。デフォルトでUbuntu 20.04の仮想環境がインストールされます。
wsl --install
③ スタートメニューに「Ubuntu on Windows」と出るので起動します。
④ 以下のような初期化画面が出るので、ユーザ名とパスワードを設定してください。
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: 【ユーザ名】
New password:【パスワード】
Retype new password:【パスワード】
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
・・・
⑤ Ubuntu内のターミナルを開き、次のコマンドを実行してパッケージリストを更新します。
sudo apt-get update
⑥ 更新が完了したら、パッケージマネージャーを使用してPythonやその他のAI関連の依存パッケージをインストールできます。例えば、Pythonをインストールするには、次のコマンドを実行します。
sudo apt-get install python3
TensorFlowやPyTorchなどの追加のソフトウェアパッケージは、各公式ドキュメントに従うか、Pythonのパッケージマネージャーであるpipを使用してインストールできます。
以上の手順によりUbuntuと必要なAIツールがインストールされるので、WSL2を使用してAIアプリケーションの開発を開始する準備が整いました。本記事としてはここまで、次回以降でAI開発に関する詳細を取り上げてみます。
Linux教科書 LPICレベル1 Version5.0対応 (EXAMPRESS) [ 中島 能和 ] 価格:4180円 |
まとめ
今回は、WSL2(Windows Subsystem for Linux 2)を使用してAIの環境を構築できるようUbuntuのインストールから紹介しました。
今回、環境構築の際し、Ubuntuを直接インストールする方法やデュアルブートを使用する方法の課題についても取り上げ、それらの問題に対する解決策としてWSL2を採用しました。
そして、WSL2を使用してUbuntuをインストールする手順についてステップバイステップで説明しました。Ubuntuと必要なAIツールがインストールされたら、AIアプリケーションの開発を始める準備が整います。
次回以降でAI開発に関する詳細を取り上げてみます。まずはWSLを使ったAI開発を行いたい場合に、ぜひ参考にしていただければ幸いです。
参考文献
- Microsoft – WSL を使用して Windows に Linux をインストールする方法(https://learn.microsoft.com/ja-jp/windows/wsl/install)
- チグサウェブ – WSL2のインストールを分かりやすく解説【Windows10/11】(https://chigusa-web.com/blog/wsl2-win11/)
- 管理者モードでないと権限の問題でインストールされません。 ↩︎
コメント