PONOS Advent Calendar 2024 12日目の記事です。
はじめに
生成AIを活用する際に必要な環境構築の基本と、事前に準備しておくと便利な情報をまとめました。
特にNVIDIAのGPUやPyTorchのバージョン適合について、初心者が陥りやすいポイントを重点的に解説します。
この記事の対象者
・エンジニア全般
・生成AIに興味がある方、全般
動作環境、前提条件
・Windows PC (10以上を想定)
・NVIDIAのGPU(理想はVRAM 12GB以上)
Hugging Face
Hugging Faceについて
Hugging Faceは、主に自然言語処理(NLP)分野で有名なAIスタートアップで、オープンソースのライブラリやプラットフォームを提供しています。同社の提供するツールやリソースは、AIや機械学習の研究者、エンジニア、開発者が効率的にモデルをトレーニング、デプロイ、利用するのに役立っています。以下は主な特徴やサービスの概要です。主な製品とサービス
-
Transformersライブラリ
BERT、GPT、T5など、最新のトランスフォーマーモデルを簡単に利用できるPythonライブラリ。
事前学習済みモデルが多数提供されており、数行のコードで活用可能。
モデルの微調整(fine-tuning)にも対応。 -
Datasetsライブラリ
大規模データセットを効率的に扱えるライブラリ。
機械学習に必要な多種多様なデータセット(テキスト、画像など)をダウンロードしてそのまま使用可能。
ストリーミングやデータの前処理機能を提供。 -
Hugging Face Hub
モデル、データセット、コードの共有プラットフォーム。
オープンソースコミュニティに対応しており、ユーザー同士でモデルやリソースを共有可能。
REST APIを通じた簡単なモデルのデプロイも可能。 -
Spaces
機械学習アプリケーションを簡単にデプロイするためのホスティングプラットフォーム。
GradioやStreamlitで構築されたインタラクティブなデモを公開できる。 -
Tokenizersライブラリ
高速で効率的なトークナイザライブラリ。
Pythonだけでなく、Rustベースで動作するため、非常に高速。
Hugging Faceさん、私は最初怪しいサイトだと疑っていたので
アカウント作成しなかったし、トークンも作成しませんでした。
しかしそれは間違いで、AI活動していくうえでHugging Faceのアカウントもトークンも必須です。
作り方も簡単に紹介します
Hugging Faceのアカウント
アカウント作成手順
1.Hugging Faceの公式サイトにアクセスします。
2.ページ右上の「Sign Up」ボタンをクリックします。
3.サインアップ画面で以下の情報を入力します:
メールアドレス
パスワード
ユーザー名
氏名
4.利用規約と行動規範に同意します。
5.「Create Account」をクリックします。
6.登録したメールアドレス宛に認証メールが送信されます。
7.メール内の認証URLをクリックして、アカウント登録を完了させます。
Hugging Face トークン作成
Hugging Faceでアクセストークンを作成する手順
1.Hugging Faceにログインします。
2.画面右上のプロフィールアイコンをクリックし、「Settings」を選択します。
3.左側のメニューから「Access Tokens」を選択します。
4.「New token」または「Create new token」ボタンをクリックします。
5.トークン作成画面で以下の情報を入力します:
Name: トークンの名前(任意の名前を設定)
Role/Permissions: 権限を選択(read、write、admin)
6.「Generate a token」ボタンをクリックしてトークンを生成します。
生成されたトークンが表示されるので、必ずコピーして安全な場所に保存してください。
注意点
トークンは一度しか表示されないため、必ず保存してください。
トークンは秘密情報として扱い、他人と共有しないでください。
必要に応じて権限を適切に設定し、セキュリティに注意してください。
このアクセストークンを使用することで、Hugging FaceのAPIやサービスにプログラムからアクセスできるようになります
Windows PowerShell ISE
Windowsでのコマンドラインツールは昔からあるコマンドプロンプトが有名ですが、現在ではWindows PowerShell ISEがお勧めです
Windows PowerShell ISEについて
Windows PowerShell ISE(Integrated Scripting Environment)は、Windows PowerShellのスクリプト作成、テスト、およびデバッグを行うための統合スクリプト環境です。主な特徴
グラフィカルユーザーインターフェース (GUI):
コマンド実行、スクリプト作成、デバッグを1つの画面で行える。
複数行編集:
スクリプトの複数行を一度に編集可能。
Shift + Enterで空白行を挿入可能。
タブ補完:
コマンドやパラメータの入力を補完してくれる。
構文の色分け:
コードの可読性が向上する。
選択的な実行:
スクリプトの一部のみを選択して実行可能(F5キーで実行)。
状況依存ヘルプ:
コマンドに関連するヘルプ情報を簡単に取得可能(例: F1キー)
スタートメニューから
「Windows PowerShell ISE」
と検索すればすぐに使えます
各種コマンドについてはこちらの記事など参考になります
Windows の長いパスを有効化
これを有効にしないと、インストール時や実行時にエラーになります
レジストリを編集します
Win + R を押して regedit と入力し Enter。
以下のキーを探します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
LongPathsEnabled の値を 1 に変更します。
値が存在しない場合、新しい DWORD (32ビット値) を作成し、名前を LongPathsEnabled に設定します。
PyTorchとCUDAのVersionを合わせる
今回の記事で一番大事なところです
PyTorchとは
PyTorchは、Facebookの人工知能研究グループ(AI Research Lab)が開発したPython用のオープンソース深層学習フレームワークです 。2016年10月に公開され、以下の特徴を持っています:動的計算グラフ:実行時に動的にグラフが変更されるため、モデルの構築とデバッグが容易です
Pythonicな設計:Pythonのデータ構造と密接に統合されており、直感的な操作が可能です
強力なGPUサポート:CUDAを活用し、NVIDIAのGPUで高速なテンソル計算が可能です
高機能なプログラムを簡単に記述:シンプルな記述で複雑なモデルを構築できます
Numpyとの類似性:基本的な操作方法がNumpyと酷似しているため、Python開発者になじみやすいです
PyTorchの主な構成要素には、データの読み込みと処理を行うDatasets & DataLoaders、前処理を担当するTransforms、学習モデルを構築するNeuralNetwork Model (torch.nn)、そして損失関数の最適化を行うOptimizeがあります。 これらの特徴により、PyTorchは研究者や開発者にとって柔軟で効率的な深層学習ツールとなっています。
NVIDIA CUDAについて
CUDAは、NVIDIAが開発した並列コンピューティングプラットフォームおよびプログラミングモデルです。2007年に導入され、GPUの並列処理能力を汎用的な計算に活用することを可能にしました。 主な特徴:GPU活用:グラフィックス処理以外の計算タスクでGPUの能力を利用できます
高速化:数千のGPUコアを同時に使用することで、大量のデータを並行処理し、計算を大幅に高速化します
プログラミング環境:C/C++をベースとした拡張言語、専用コンパイラ、ライブラリ、APIを提供します
幅広い応用:科学計算、機械学習、ビッグデータ解析、金融工学など多様な分野で活用されています
CUDAを使用するには、NVIDIA製GPUが必要です。また、PyTorchなどの機械学習フレームワークでCUDAを利用する際は、適切なバージョンの組み合わせが重要です
CUDAは、GPUの計算能力を最大限に引き出し、高性能な並列計算を実現するための強力なツールとして、様々な分野で革新的な成果をもたらしています
こちらの記事も参考になります
それではVersionを意識しながらそれぞれインストールしてみましょう
CUDAインストール
先にPyTorchの対応Versionを確認します
PyTorch公式に書いてある通りで、現在は以下のようになっています。
【PyTorchの対応CUDAバージョン】(2024年12月時点)
安定版:
- CUDA 11.8
- CUDA 12.1
- CUDA 12.4
プレビュー版:
- CUDA 11.8
- CUDA 12.4
- CUDA 12.6
今回は安定版の最新、CUDA12.4をインストールします
ダウンロード後はインストールを実行すれば完了です。
インストール後、PC再起動が必要です。
再起動後はパスの確認を推奨します
コマンドライン上で
nvcc -V
このコマンドでNVIDIAとCUDAの情報が確認できればOKです
表示例)
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Mon_Apr_03_19:15:54_PDT_2024
Cuda compilation tools, release 12.4, V12.4.105
PyTorchインストール
CUDA12.4をインストールしたのでVersionが合致するように以下のコマンドでインストールします
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
インストール完了後、以下のコマンドで確認
pip3 show torch
パッケージ情報が表示されていれば無事完了です
まとめ
Pythonについては多くの記事で解説されていますが、CUDAやPyTorchのバージョン適合、トークン管理、PowerShell設定などの周辺情報は意外と少ないと感じます。
本記事がその補完になれば幸いです。
次は、@ANIZA_15さんの記事です。
お楽しみに!!