1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PONOSAdvent Calendar 2024

Day 12

【生成AI】環境構築時に知っておきたいこと

Last updated at Posted at 2024-12-11

PONOS Advent Calendar 2024 12日目の記事です。

はじめに:eyeglasses:

生成AIを活用する際に必要な環境構築の基本と、事前に準備しておくと便利な情報をまとめました。
特にNVIDIAのGPUやPyTorchのバージョン適合について、初心者が陥りやすいポイントを重点的に解説します。

この記事の対象者:eyeglasses:

・エンジニア全般
・生成AIに興味がある方、全般

動作環境、前提条件:eyeglasses:

・Windows PC (10以上を想定)
・NVIDIAのGPU(理想はVRAM 12GB以上)

Hugging Face

Hugging Faceについて Hugging Faceは、主に自然言語処理(NLP)分野で有名なAIスタートアップで、オープンソースのライブラリやプラットフォームを提供しています。同社の提供するツールやリソースは、AIや機械学習の研究者、エンジニア、開発者が効率的にモデルをトレーニング、デプロイ、利用するのに役立っています。以下は主な特徴やサービスの概要です。

主な製品とサービス

  1. Transformersライブラリ
    BERT、GPT、T5など、最新のトランスフォーマーモデルを簡単に利用できるPythonライブラリ。
    事前学習済みモデルが多数提供されており、数行のコードで活用可能。
    モデルの微調整(fine-tuning)にも対応。

  2. Datasetsライブラリ
    大規模データセットを効率的に扱えるライブラリ。
    機械学習に必要な多種多様なデータセット(テキスト、画像など)をダウンロードしてそのまま使用可能。
    ストリーミングやデータの前処理機能を提供。

  3. Hugging Face Hub
    モデル、データセット、コードの共有プラットフォーム。
    オープンソースコミュニティに対応しており、ユーザー同士でモデルやリソースを共有可能。
    REST APIを通じた簡単なモデルのデプロイも可能。

  4. Spaces
    機械学習アプリケーションを簡単にデプロイするためのホスティングプラットフォーム。
    GradioやStreamlitで構築されたインタラクティブなデモを公開できる。

  5. 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をインストールします

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さんの記事です。
お楽しみに!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?