優れたソフトウェアと実用的なチュートリアル
Windowsにio.netをインストールし、新しいデバイスを接続する手順を説明したチュートリアル
io.net クラウドは最先端の分散型コンピューティング ネットワークであり、機械学習エンジニアは、同等の集中型サービスに比べてわずかなコストで分散型クラウド クラスターにアクセスできます。
現代の機械学習モデルは、多くの場合、並列コンピューティングと分散コンピューティングを活用します。パフォーマンスを最適化したり、より大規模なデータセットやモデルに拡張したりするには、複数のシステムにまたがる複数のコアのパワーを活用することが重要です。学習と推論のプロセスは、単一のデバイス上で実行される単純なタスクではなく、連携して動作するGPUネットワークを必要とすることがよくあります。
残念ながら、パブリッククラウドでより多くのGPUが必要になるにつれて、分散コンピューティングリソースの取得にはいくつかの課題が生じています。最も顕著なものは以下のとおりです。
- 数量限定:AWS、GCP、Azure などのクラウド サービスを使用してハードウェアにアクセスするには数週間かかることが多く、人気の GPU モデルが利用できないこともよくあります。
- 悪い選択: ユーザーは、GPU ハードウェア、場所、セキュリティ レベル、レイテンシ、その他のオプションについてほとんど選択できません。
- 高コスト:良質の GPU を入手するには費用がかかり、プロジェクトではトレーニングと推論に毎月数十万ドルを簡単に費やすことになります。
io.netは、独立系データセンター、暗号通貨マイナー、FilecoinやRenderといった暗号通貨プロジェクトなど、十分に活用されていないリソースからGPUを集約することでこの問題を解決します。これらのリソースは分散型物理インフラストラクチャネットワーク(DePIN)に統合され、エンジニアはアクセスしやすく、カスタマイズ可能で、費用対効果が高く、導入が容易なシステムで、膨大なコンピューティングパワーを利用できるようになります。
io.net ドキュメント:https://developers.io.net/docs/overview
io.netのインストールと新しいデバイスの接続に関するチュートリアル
まず最初にcloud.io.net GoogleメールまたはXアカウントを使用してio.netにログインします
1. ドロップダウンメニューからWORKERに移動します
2. 新しいデバイスを接続する
「新しいデバイスを接続」をクリックします
3. サプライヤーを選ぶ
ハードウェアをグループ化するベンダーを選択してください
4. デバイスに名前を付ける
デバイスの一意の名前を追加します。理想的には次のような形式です: My-Test-Device
5. オペレーティングシステム「OS」を選択します
Windowsフィールドをクリックします
6. デバイスの種類
GPUワーカーを選択した場合、デバイスにGPUが搭載されていない場合、セットアップは失敗します。
7. DockerとNvidiaドライバのインストール
Docker、Cuda、Nvidiaドライバのインストールドキュメントの手順に従ってください。
8. Dockerコマンドを実行する
ターミナルでこのコマンドを実行し、dockerデスクトップがバックグラウンドで実行されていることを確認します。
9. 接続を待つ
新しいデバイスが接続されるのを待つ間、「更新」をクリックし続けます。
Windows への Docker のインストール
まず、仮想化 BIOS を有効にする必要があります。
有効になっているかどうかを確認するには、タスク マネージャーのパフォーマンスに移動すると、次の場所に表示されます。
有効になっていない場合は、次の手順に従ってください。
- BIOSまたはUEFIセットアップで仮想化テクノロジーを有効にするには、起動プロセス中にコンピューターのBIOSまたはUEFI設定メニューにアクセスする必要があります。具体的な手順はコンピューターのメーカーやモデルによって異なる場合がありますが、ここでは仮想化を有効にするための一般的な手順をご紹介します。
- PowerShellを管理者として起動して、WSL 2をインストールします。これを行うには、スタートメニューで「PowerShell」を検索し、「Windows PowerShell」を右クリックして「管理者として実行」を選択します。
- Windows 10/11 で WSL 機能を有効にするには、次のコマンドを実行します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 次に、次のコマンドを実行して、同じ PowerShell ウィンドウで仮想マシン プラットフォーム機能を有効にします。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 次に、WSL 2 をデフォルト バージョンとして設定します (コンピューターの再起動が必要になる場合があります)。
wsl --set-default-version 2
Docker をダウンロード:
Docker の Web サイトにアクセスしてください:https://www.docker.com/products/docker-desktop/ 「Windows 用にダウンロード」をクリックします。
インストール プロセスを実行し、完了後にマシンを再起動します。
docker デスクトップを起動し、docker での統合に wsl2 を選択します。
CMDを開いて次のように入力してインストールを確認します。
docker --version
すると、次のような出力が表示されます。
Docker バージョン 24.0.6、ビルド ed223bc
これで完了です。Docker がインストールされ、準備完了です。
WindowsでのNvidiaドライバのインストール
- 正しいドライバーがインストールされているかどうかを確認するには、Windows PCでコマンドライン(Windowsキー+R、cmdと入力)を開き、nvidia-smiと入力します。以下のエラーメッセージが表示される場合は、
C:\Users>nvidia-smi 'nvidia-smi' は、内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません。
これは、NVIDIA ドライバーがインストールされていないことを意味します。インストールするには、次の手順に従ってください。
- Nvidia の Web サイトにアクセスしてください:https://www.nvidia.com/download/index.aspxGPUの名前を入力して「検索」をクリックします。
- お使いの GPU と Windows のバージョンに適した NVIDIA ドライバーのダウンロード ボタンをクリックします。
- ダウンロードが完了したら、インストールを開始し、最初のオプションを選択して、「同意して続行」をクリックします。
- インストールが完了したら、コンピュータを再起動する必要があります。コンピュータを再起動することで、新しいNVIDIAドライバがシステムに完全に統合されます。
- コンピュータが再起動したら、コマンド プロンプト (Windows キー + R、cmd と入力) を開き、次のコマンドを入力します。
NVIDIA SMI
- 次のような結果が表示されます。
これで完了です。正しい NVIDIA ドライバーがインストールされ、準備完了です。
CUDAツールキットをダウンロードする(オプション)
- NVIDIA CUDA Toolkit のダウンロード ページにアクセスしてください:https://developer.nvidia.com/cuda-downloads
- オペレーティング システム (例: Windows) を選択します。
- アーキテクチャを選択します (通常、64 ビット Windows の場合は x86_64)。
- exe形式のローカルインストーラーをダウンロードします。ファイルをダウンロードしたら、インストーラーを実行します。
- インストールプロセスに従います。
- 次に、インストールプロセスを確認します。コマンドプロンプト(Windowsキー+R、cmdと入力)を開き、次のコマンドを入力します。
nvcc --version
- 次のような答えが得られるはずです。
nvcc: NVIDIA (R) Cuda コンパイラ ドライバー Copyright (c) 2005-2022 NVIDIA Corporation ビルド日: Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Cuda コンパイル ツール、リリース 11.8、V11.8.89 ビルド cuda_11.8.r11.8/compiler.31833905_0
これで完了です。CUDA ツールキットがインストールされ、準備完了です。
ここで、MLアプリケーションに必要なすべてのパッケージを含む20GBのコンテナをインストールしていることに注意してください。すべての処理はコンテナ内で行われ、コンテナからファイルシステムへの転送は行われません。
トラブルシューティングガイド
GPU 対応 Docker プラットフォームのトラブルシューティング ガイド
Linux および Windows での Docker のセットアップを確認する
- セットアップが正しく動作していることを確認するには、次のコマンドを実行します。
docker run --gpus all nvidia/cuda:11.0.3-base-ubuntu18.04 nvidia-smi
- 出力は nvidia-smi と似たものになるはずです。
- このコマンドは、Docker が GPU を正しく利用しているかどうかを確認します。
プラットフォームを停止
Windows (PowerShell を使用):
docker ps -a -q | ForEach { docker rm $\_ }
Windows の稼働時間が不安定ですか?
ルーターのDHCPリース時間が24時間以上に設定されていることを確認するには、Windowsオペレーティングシステムのグループポリシーエディターにアクセスし、指定された設定を以下の順序で有効にします。
- グループ ポリシー エディターで [コンピューターの構成] に移動します。
- [コンピューターの構成] で、[管理用テンプレート] セクションを見つけます。
- [管理用テンプレート] セクションで、[システム] に移動します。
- システムメニューから、電源管理を選択します。
- 最後に、「電源管理」の「スリープ設定」サブセクションにアクセスします。
- 「スリープ設定」サブメニューで、「コネクテッドスタンバイ中にネットワーク接続を許可する(バッテリー駆動)」および「コネクテッドスタンバイ中にネットワーク接続を許可する(電源に接続)」オプションを有効にします。
- 望ましい結果を得るには、これらの構成を適切に調整してください。
プラットフォームが適切に機能するためにファイアウォールで公開する必要があるポート: (Linux および Windows)
TCP: 443 25061 5432 80
UDP: 80 443 41641 3478
プログラムが正常に起動したことを確認するにはどうすればよいですか?
PowerShell (Windows) またはターミナル (Linux) で次のコマンドを実行すると、常に 2 つの Docker コンテナーが実行されている必要があります。
ドッカーPS
ウェブサイトで docker run -d ... コマンドを実行した後、コンテナが実行されていない場合、または 1 つのコンテナしか実行されていない場合は、次のようになります。
プラットフォームを停止し(上記のコマンドガイドを参照)、ウェブサイトコマンドを使用してプラットフォームを再起動します。
それでも問題が解決しない場合は、Discord コミュニティにお問い合わせください。https://discord.com/invite/kqFzFK7fg2
io.net 対応デバイス
メーカー | GPUモデル |
---|---|
NVIDIA | A10 |
NVIDIA | A100 80G PCIe NVLink |
NVIDIA | A100 80GB PCIe |
NVIDIA | A100-PCIE-40GB |
NVIDIA | A100-SXM4-40GB |
NVIDIA | A40 |
NVIDIA | A40 PCIe |
NVIDIA | A40-8Q |
NVIDIA | GeForce RTX 3050 ノート PC |
NVIDIA | GeForce RTX 3050 Ti ノート PC |
NVIDIA | GeForce RTX 3060 |
NVIDIA | GeForce RTX 3060 ノート PC |
NVIDIA | GeForce RTX 3060 Ti |
NVIDIA | GeForce RTX 3070 |
NVIDIA | GeForce RTX 3070 ノート PC |
NVIDIA | GeForce RTX 3070 Ti |
NVIDIA | GeForce RTX 3070 Ti ノート PC |
NVIDIA | GeForce RTX 3080 |
NVIDIA | GeForce RTX 3080 ノート PC |
NVIDIA | GeForce RTX 3080 Ti |
NVIDIA | GeForce RTX 3080 Ti ノート PC |
NVIDIA | GeForce RTX 3090 |
NVIDIA | GeForce RTX 3090 Ti |
NVIDIA | GeForce RTX 4060 |
NVIDIA | GeForce RTX 4060 ノート PC |
NVIDIA | GeForce RTX 4060 Ti |
NVIDIA | GeForce RTX 4070 |
NVIDIA | GeForce RTX 4070 ノート PC |
NVIDIA | GeForce RTX 4070 スーパー |
NVIDIA | GeForce RTX 4070 Ti |
NVIDIA | GeForce RTX 4070 Ti スーパー |
NVIDIA | GeForce RTX 4080 |
NVIDIA | GeForce RTX 4080 スーパー |
NVIDIA | GeForce RTX 4090 |
NVIDIA | GeForce RTX 4090 ノート PC |
NVIDIA | H100 80G PCIe |
NVIDIA | H100 PCIe |
NVIDIA | L40 |
NVIDIA | クアドロRTX 4000 |
NVIDIA | RTX 4000 SFF Ada世代 |
NVIDIA | RTX 5000 |
NVIDIA | RTX 5000 Ada世代 |
NVIDIA | RTX 6000 Ada世代 |
NVIDIA | RTX 8000 |
NVIDIA | RTX A4000 |
NVIDIA | RTX A5000 |
NVIDIA | RTX A6000 |
NVIDIA | テスラ P100 PCIe |
NVIDIA | テスラT4 |
NVIDIA | テスラ V100-SXM2-16GB |
NVIDIA | テスラ V100-SXM2-32GB |
CPU
メーカー | CPUモデル |
---|---|
りんご | M1プロ |
りんご | M1 |
りんご | M1マックス |
りんご | M2 |
りんご | M2マックス |
りんご | M2プロ |
りんご | M3 |
りんご | M3マックス |
りんご | M3プロ |
AMD | QEMU 仮想 CPU バージョン 2.5+ |