インストール
さまざまなプラットフォームのインストールドキュメント
概要
第1章 インストールの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux AI は、起動可能なイメージとして配布およびインストール可能です。この起動可能なイメージには、RHEL AI 用のさまざまなソフトウェアとツールを保持するコンテナーが含まれています。各イメージは、特定のハードウェアベンダーをサポートするようにコンパイルされます。各 RHEL AI イメージには以下が含まれます。
- Red Hat Enterprise Linux 9.4: マシン用の RHEL バージョン 9.4 オペレーティングシステム (OS)。
InstructLab コンテナー: InstructLab と RHEL AI には、他にも必要なさまざまなツールが含まれています。ここでは、以下の点を説明します。
- Python バージョン 3.11: InstructLab が内部で使用する Python 3.11 インストール。
InstructLab ツール:
- InstructLab コマンドラインインターフェイス (CLI)。
- 合成データ生成 (SDG) の LAB 強化手法。
- 複数フェーズトレーニングの LAB で強化された手法。
- InstructLab with vLLM: 大規模言語モデル (LLM) 用の高入力推論およびサービングエンジン。
- InstructLab with DeepSpeed: トレーニングプロセスを高速化するハードウェア最適化ソフトウェア。FSDP と同様の機能。
- InstructLab with FSDP: トレーニングをより迅速かつ効率的にするトレーニングフレームワーク。DeepSpeed と同様の機能
Red Hat Enterprise Linux AI バージョン 1.5 には、ダウンロードしてモデルのトレーニングに使用できるサンプルのスキルとナレッジを含むサンプルのタクソノミーツリーも含まれています。
一般公開のバージョンでは、Red Hat Enterprise Linux AI をインストールおよびデプロイするためのオプションが 3 つあります。
Red Hat Enterprise Linux AI の一般公開バージョンをインストールしたら、チャットや対話ができるオープンソースの Granite LLM を手動でダウンロードできます。これらのモデルのダウンロードの詳細は、追加モデルのダウンロード を参照してください。
第2章 ベアメタルへの RHEL AI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux AI をベアメタルにインストールするには、次の手順で説明するさまざまな方法を使用して、マシンを起動してデプロイし、Red Hat Enterprise Linux AI とのやり取りを開始できます。
2.1. ベアメタルへの RHEL AI のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
次の方法で、RHEL AI ISO イメージを使用して Red Hat Enterprise Linux AI をデプロイできます。
- キックスタート
- RHEL グラフィカルユーザーインターフェイス (GUI)
このイメージは、さまざまなハードウェアアクセラレーターで起動可能です。サポートされているハードウェアの詳細は、「スタートガイド」の「Red Hat Enterprise Linux AI ハードウェア要件」を参照してください。
前提条件
- RHEL AI ダウンロードページ から Red Hat Enterprise Linux AI ISO イメージをダウンロードして展開しました。
Red Hat Enterprise Linux AI では、RHEL AI データ用の追加ストレージと、イメージモードの Red Hat Enterprise Linux の更新が必要です。InstructLab データのデフォルトのロケーションは、home/<user> ディレクトリー配下にあります。/home ディレクトリーのデータストレージの最小推奨値は 1 TB です。更新中、bootc コマンドは、一時データを保存するための追加のスペースを必要とします。/ パスの最小ストレージ推奨値は 120 GB です。ディスクのスキームをパーティション設定するときは、マシンのストレージを考慮する必要があります。
手順
インタラクティブ GUI
インタラクティブな Red Hat Enterprise Linux グラフィカルインストーラーと RHEL AI ISO イメージを使用して、マシンに RHEL AI をデプロイできます。GUI を使用して ISO ファイルから RHEL を起動する方法は、インストールメディアからの RHEL の対話型インストール を参照してください。
埋め込みコンテナーイメージを使用したキックスタート
独自のキックスタートファイルを使用して、RHEL AI インストールをカスタマイズできます。
任意のパラメーターを使用して、独自のキックスタートファイルを作成します。キックスタートファイルの作成の詳細は、RHEL ドキュメントの キックスタートファイルの作成 を参照してください。
RHEL AI のサンプルキックスタートファイル
rhelai-bootc.ks# use the embedded container image ostreecontainer --url=/run/install/repo/container --transport=oci --no-signature-verification # switch bootc to point to Red Hat container image for upgrades %post bootc switch --mutate-in-place --transport registry registry.redhat.io/rhelai1/bootc-nvidia-rhel9:1.5 touch /etc/cloud/cloud-init.disabled %end ## user customizations follow # customize this for your target system network environment network --bootproto=dhcp --device=link --activate # customize this for your target system desired disk partitioning clearpart --all --initlabel --disklabel=gpt reqpart --add-boot part / --grow --fstype xfs # services can also be customized via Kickstart firewall --disabled services --enabled=sshd # optionally add a user user --name=cloud-user --groups=wheel --plaintext --password <password> sshkey --username cloud-user "ssh-ed25519 AAAAC3Nza....." # if desired, inject an SSH key for root rootpw --iscrypted locked sshkey --username root "ssh-ed25519 AAAAC3Nza..." rebootサンプルキックスタートは、ISO ファイルに埋め込まれたコンテナーイメージを使用します。これは、
--url=/run/install/repo/containerパラメーターを指定したostreecontainerコマンドで指示します。bootc switchパラメーターは、今後の更新用に Red Hat レジストリーを参照し、独自のカスタマイズを追加できます。マシンを再起動して RHEL AI をデプロイできるように、キックスタートを RHEL AI ISO に埋め込む必要があります。次の例では、
rhelai-bootc.ksはブート ISO に埋め込むキックスタートファイルの名前です。mkksisoユーティリティーは、loraxrpm パッケージにあります。$ mkksiso rhelai-bootc.ks <downloaded-iso-image> rhelai-bootc-ks.isoここでは、以下のようになります。
- <downloaded-iso-image>
- RHEL AI ダウンロードページ からダウンロードした ISO イメージを指定します。
その後、このブート ISO を使用してマシンを起動すると、インストールが自動的に開始します。インストールが完了すると、ホストが再起動し、キックスタートファイルで使用された認証情報を使用して新しいシステムにログインできるようになります。
重要ISO にカスタムキックスタートが含まれていると、ユーザーにプロンプトを表示せずに、インストールとディスクのパーティション設定が自動的に開始することに注意してください。設定によっては、ローカルストレージが完全に消去されるか、上書きされる可能性があります。
カスタムのコンテナーイメージを使用したキックスタート
任意のパラメーターでキックスタートファイルをカスタマイズして、マシン上で Red Hat Enterprise Linux AI を起動できます。
任意のパラメーターを使用して、独自のキックスタートファイルを作成します。キックスタートファイルの作成の詳細は、RHEL ドキュメントの キックスタートファイルの作成 を参照してください。
RHEL AI のサンプルキックスタートファイル
rhelai-bootc.ks# customize this for your target system network environment network --bootproto=dhcp --device=link --activate # customize this for your target system desired disk partitioning clearpart --all --initlabel --disklabel=gpt reqpart --add-boot part / --grow --fstype xfs # customize this to include your own bootc container ostreecontainer --url quay.io/<your-user-name>/nvidia-bootc:latest # services can also be customized via Kickstart firewall --disabled services --enabled=sshd # optionally add a user user --name=cloud-user --groups=wheel --plaintext --password <password> sshkey --username cloud-user "ssh-ed25519 AAAAC3Nza....." # if desired, inject an SSH key for root rootpw --iscrypted locked sshkey --username root "ssh-ed25519 AAAAC3Nza..." rebootマシンを再起動して RHEL AI をデプロイできるように、キックスタートを RHEL AI ISO に埋め込む必要があります。次の例では、
rhelai-bootc.ksはブート ISO に埋め込むキックスタートファイルの名前です。mkksisoユーティリティーは、loraxrpm パッケージにあります。$ mkksiso rhelai-bootc.ks <downloaded-iso-image> rhelai-bootc-ks.isoここでは、以下のようになります。
- <downloaded-iso-image>
- RHEL AI ダウンロードページ からダウンロードした ISO イメージを指定します。
その後、このブート ISO を使用してマシンを起動すると、インストールが自動的に開始します。インストールが完了すると、ホストが再起動し、キックスタートファイルで使用された認証情報を使用して新しいシステムにログインできるようになります。
重要ISO にカスタムキックスタートが含まれていると、ユーザーにプロンプトを表示せずに、インストールとディスクのパーティション設定が自動的に開始することに注意してください。設定によっては、ローカルストレージが完全に消去されるか、上書きされる可能性があります。
検証
Red Hat Enterprise Linux AI ツールが正しくインストールされていることを確認するには、
ilabコマンドを実行する必要があります。$ ilab出力例
$ ilab Usage: ilab [OPTIONS] COMMAND [ARGS]... CLI for interacting with InstructLab. If this is your first time running ilab, it's best to start with `ilab config init` to create the environment. Options: --config PATH Path to a configuration file. [default: /Users/kellybrown/.config/instructlab/config.yaml] -v, --verbose Enable debug logging (repeat for even more verbosity) --version Show the version and exit. --help Show this message and exit. Commands: config Command Group for Interacting with the Config of InstructLab. data Command Group for Interacting with the Data generated by... model Command Group for Interacting with the Models in InstructLab. system Command group for all system-related command calls taxonomy Command Group for Interacting with the Taxonomy of InstructLab. Aliases: chat model chat generate data generate serve model serve train model train
Red Hat Enterprise Linux AI の更新
RHEL AI の最新の z-stream バージョンに更新するには、Red Hat Enterprise Linux AI の更新 ドキュメントの手順に従ってください。
第3章 AWS への RHEL AI のインストール リンクのコピーリンクがクリップボードにコピーされました!
AWS に Red Hat Enterprise Linux AI をインストールしてデプロイする方法は複数あります。
- RHEL AI は、AWS マーケットプレイス から購入できます。
- RHEL AI ダウンロードページ から RHEL AI RAW ファイルをダウンロードし、AWS イメージに変換できます。
RAW ファイルを使用して RHEL AI をインストールおよびデプロイするには、まず RHEL AI イメージを Amazon Machine Image (AMI) に変換する必要があります。
3.1. RHEL AI イメージの AWS AMI への変換 リンクのコピーリンクがクリップボードにコピーされました!
RHEL AI を AWS マシンにデプロイする前に、S3 バケットを設定し、RHEL AI イメージを AWS AMI に変換する必要があります。
次のプロセスでは、次のリソースを作成します。
- RHEL AI イメージを含む S3 バケット
- AWS EC2 スナップショット
- AWS AMI
- AWS インスタンス
前提条件
- AWS IAM アカウントマネージャー にアクセスキー ID が設定されている。
手順
- AWS のドキュメント に従って、AWS コマンドラインツールをインストールします。
S3 バケットを作成し、イメージファイルの AWS スナップショットへの変換を許可する権限を設定する必要があります。
次のコマンドを実行して、必要な環境変数を作成します。
$ export BUCKET=<custom_bucket_name> $ export RAW_AMI=nvidia-bootc.ami $ export AMI_NAME="rhel-ai" $ export DEFAULT_VOLUME_SIZE=1000注記AWS では、
DEFAULT_VOLUME_SIZEは GB 単位で測定されます。以下のコマンドを実行して S3 バケットを作成できます。
$ aws s3 mb s3://$BUCKETバケットに S3 ロールを生成するために必要な設定で
trust-policy.jsonファイルを作成する必要があります。$ printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }' > trust-policy.json名前を付けることができるバケットの S3 ロールを作成します。以下のコマンド例では、
vmiportがロールの名前です。$ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.jsonバケットにポリシーを生成するために必要な設定で
role-policy.jsonファイルを作成する必要があります。$ printf '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::%s", "arn:aws:s3:::%s/*" ] }, { "Effect":"Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource":"*" } ] }' $BUCKET $BUCKET > role-policy.json以下のコマンドを実行してバケットのポリシーを作成します。
$ aws iam put-role-policy --role-name vmimport --policy-name vmimport-$BUCKET --policy-document file://role-policy.json
- S3 バケットがセットアップされました。Red Hat Enterprise Linux AI ダウンロードページ から RAW イメージをダウンロードする必要があります。
RAW イメージリンクをコピーし、次のコマンドに追加します。
$ curl -Lo disk.raw.gz <link-to-raw-file>次のコマンドで
raw.gzファイルを展開します。$ gunzip disk.raw.gz次のコマンドを使用して、イメージを S3 バケットにアップロードします。
$ aws s3 cp disk.raw s3://$BUCKET/$RAW_AMI次のコマンドを実行して、イメージをスナップショットに変換し、
task_id変数名に保存します。$ printf '{ "Description": "my-image", "Format": "raw", "UserBucket": { "S3Bucket": "%s", "S3Key": "%s" } }' $BUCKET $RAW_AMI > containers.json$ task_id=$(aws ec2 import-snapshot --disk-container file://containers.json | jq -r .ImportTaskId)次のコマンドを使用して、ディスクイメージからスナップショットへの変換ジョブの進行状況を確認できます。
$ aws ec2 describe-import-snapshot-tasks --filters Name=task-state,Values=active変換ジョブが完了したら、次のコマンドを実行してスナップショット ID を取得し、それを
snapshot_idという変数に保存できます。$ snapshot_id=$(aws ec2 describe-import-snapshot-tasks | jq -r '.ImportSnapshotTasks[] | select(.ImportTaskId=="'${task_id}'") | .SnapshotTaskDetail.SnapshotId')次のコマンドを実行して、スナップショットにタグ名を追加し、識別しやすくします。
$ aws ec2 create-tags --resources $snapshot_id --tags Key=Name,Value="$AMI_NAME"次のコマンドを使用して、スナップショットから AMI を登録します。
$ ami_id=$(aws ec2 register-image \ --name "$AMI_NAME" \ --description "$AMI_NAME" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={VolumeSize=${DEFAULT_VOLUME_SIZE},SnapshotId=${snapshot_id}}" \ --virtualization-type hvm \ --ena-support \ | jq -r .ImageId)次のコマンドを実行して、別のタグ名を追加して AMI を識別できます。
$ aws ec2 create-tags --resources $ami_id --tags Key=Name,Value="$AMI_NAME"
3.2. CLI を使用した AWS へのインスタンスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
AWS Web コンソールまたは CLI から、新しい RHEL AI AMI を使用して AWS インスタンスを起動できます。インスタンスを起動するには、どちらのデプロイメント方法でも使用できます。次の手順では、CLI を使用してカスタム AMI で AWS インスタンスを起動する方法を示します。
デプロイメントオプションとして CLI を使用する場合、「前提条件」に示すように、いくつかの設定を作成する必要があります。
前提条件
- RHEL AI AMI を作成している。詳細は、「RHEL AI イメージの AWS AMI への変換」を参照してください。
- AWS コマンドラインツール がインストールされており、aws_access_key_id および aws_secret_access_key で適切に設定されている。
- Virtual Private Cloud (VPC) が設定されている。
- インスタンスのサブネットが作成されている。
- SSH キーペアを作成している。
- AWS にセキュリティーグループを作成している。
手順
さまざまなパラメーターには、変数の ID を収集する必要があります。
イメージ ID にアクセスするには、次のコマンドを実行します。
$ aws ec2 describe-images --owners selfセキュリティーグループ ID にアクセスするには、次のコマンドを実行します。
$ aws ec2 describe-security-groupsサブネット ID にアクセスするには、次のコマンドを実行します。
$ aws ec2 describe-subnets
インスタンスを作成するときに環境変数を設定します。
$ instance_name=rhel-ai-instance $ ami=<ami-id> $ instance_type=<instance-type-size> $ key_name=<key-pair-name> $ security_group=<sg-id> $ disk_size=<size-of-disk>次のコマンドを実行し、変数を使用してインスタンスを作成します。
$ aws ec2 run-instances \ --image-id $ami \ --instance-type $instance_type \ --key-name $key_name \ --security-group-ids $security_group \ --subnet-id $subnet \ --block-device-mappings DeviceName=/dev/sda1,Ebs='{VolumeSize='$disk_size'}' \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value='$instance_name'}]'
ユーザーアカウント
RHEL AI AMI のデフォルトのユーザーアカウントは cloud-user です。パスワードなしで sudo 経由ですべての権限が与えられています。
検証
Red Hat Enterprise Linux AI ツールが正しくインストールされていることを確認するには、
ilabコマンドを実行する必要があります。$ ilab出力例
$ ilab Usage: ilab [OPTIONS] COMMAND [ARGS]... CLI for interacting with InstructLab. If this is your first time running ilab, it's best to start with `ilab config init` to create the environment. Options: --config PATH Path to a configuration file. [default: /home/<user>/.config/instructlab/config.yaml] -v, --verbose Enable debug logging (repeat for even more verbosity) --version Show the version and exit. --help Show this message and exit. Commands: config Command Group for Interacting with the Config of InstructLab. data Command Group for Interacting with the Data generated by... model Command Group for Interacting with the Models in InstructLab. system Command group for all system-related command calls taxonomy Command Group for Interacting with the Taxonomy of InstructLab. Aliases: chat model chat generate data generate serve model serve train model train
Red Hat Enterprise Linux AI の更新
RHEL AI の最新の z-stream バージョンに更新するには、Red Hat Enterprise Linux AI の更新 ドキュメントの手順に従ってください。
第4章 IBM クラウドへの RHEL AI のインストール リンクのコピーリンクがクリップボードにコピーされました!
IBM Cloud に Red Hat Enterprise Linux AI をインストールしてデプロイするには、まず RHEL AI イメージを IBM Cloud イメージに変換する必要があります。その後、IBM Cloud イメージを使用してインスタンスを起動し、IBM Cloud マシンに RHEL AI をデプロイできます。
4.1. RHEL AI イメージの IBM Cloud イメージへの変換 リンクのコピーリンクがクリップボードにコピーされました!
IBM Cloud で起動可能なイメージを作成するには、IBM Cloud アカウントを設定し、Cloud Object Storage (COS) バケットをセットアップして、RHEL AI イメージを使用して IBM Cloud イメージを作成する必要があります。
前提条件
- 特定のマシンに IBM CLI をインストールしている。IBM Cloud CLI のインストールの詳細は、スタンドアロン IBM Cloud CLI のインストール を参照してください。
手順
次のコマンドを使用して、IBM Cloud にログインします。
$ ibmcloud loginプロンプトが表示されたら、ログインするアカウントを選択します。
ログインの出力例
$ ibmcloud login API endpoint: https://cloud.ibm.com Region: us-east Get a one-time code from https://identity-1.eu-central.iam.cloud.ibm.com/identity/passcode to proceed. Open the URL in the default browser? [Y/n] > One-time code > Authenticating... OK Select an account: 1. <account-name> 2. <account-name-2> API endpoint: https://cloud.ibm.com Region: us-east User: <user-name> Account: <selected-account> Resource group: No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'QCOW2 イメージを生成する前に、さまざまな IBM Cloud 設定を設定し、COS バケットを作成する必要があります。
次のコマンドを実行すると、必要な IBM Cloud プラグインをインストールできます。
$ ibmcloud plugin install cloud-object-storage infrastructure-service任意のリソースグループを設定します。次のコマンド例では、
Defaultという名前のリソースグループを設定します。$ ibmcloud target -g Default任意のリージョンを設定します。次のコマンド例では
us-eastリージョンを設定します。$ ibmcloud target -r us-eastサービスインスタンスのデプロイメントプランを選択する必要があります。IBM Cloud Web サイトでプロパティーと価格を確認してください。
次のコマンドを実行すると、利用可能なデプロイメントプランをリスト表示できます。
$ ibmcloud catalog service cloud-object-storage --output json | jq -r '.[].children[] | select(.children != null) | .children[].name'次のコマンド例では、
premium-global- デプロイメントプランを使用し、それを環境変数cos_deploy_planに格納します。$ cos_deploy_plan=premium-global-deploymentCloud Object Storage (COS) サービスインスタンスを作成し、
cos_si_nameという名前の環境変数に名前を保存し、次のコマンドを実行してcloud-object-storageを作成します。$ cos_si_name=THE_NAME_OF_YOUR_SERVICE_INSTANCE$ ibmcloud resource service-instance-create ${cos_si_name} cloud-object-storage standard global -d ${cos_deploy_plan}
次のコマンドを実行して、
cos_crnという変数内の Cloud Object Storage (COS) バケットの Cloud Resource Name (CRN) を取得します。$ cos_crn=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .crn')$ ibmcloud cos config crn --crn ${cos_crn} --force次のコマンドを使用して、環境変数
bucket_nameという名前の Cloud Object Storage (COS) バケットを作成します。$ bucket_name=NAME_OF_MY_BUCKET$ ibmcloud cos bucket-create --bucket ${bucket_name}次のコマンドを実行して、インフラストラクチャーサービスにより、サービスインスタンス
${cos_si_guid}変数にあるバケットが読み取れるように許可します。$ cos_si_guid=$(ibmcloud resource service-instance ${cos_si_name} --output json| jq -r '.[] | select(.crn | contains("cloud-object-storage")) | .guid')$ ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id ${cos_si_guid}
- IBM Cloud Object Storage (CoS) サービスインスタンスバケットがセットアップされました。Red Hat Enterprise Linux AI ダウンロードページ から QCOW2 イメージをダウンロードする必要があります。
QCOW2 イメージリンクをコピーし、次のコマンドに追加します。
$ curl -Lo disk.qcow2 "PASTE_HERE_THE_LINK_OF_THE_QCOW2_FILE"RHEL AI IBM Cloud イメージとして使用する名前を設定します
$ image_name=rhel-ai-20240703v0次のコマンドを実行して、選択したリージョンの Cloud Object Storage (COS) バケットに QCOW2 イメージをアップロードします。
$ ibmcloud cos upload --bucket ${bucket_name} --key ${image_name}.qcow2 --file disk.qcow2 --region <region>次のコマンドを使用して、アップロードした QCOW2 を IBM Cloud イメージに変換します。
$ ibmcloud is image-create ${image_name} --file cos://<region>/${bucket_name}/${image_name}.qcow2 --os-name red-ai-9-amd64-nvidia-byolジョブが起動したら、次のコマンドを実行して、IBM Cloud イメージ設定を
image_idという変数に設定します。$ image_id=$(ibmcloud is images --visibility private --output json | jq -r '.[] | select(.name=="'$image_name'") | .id')次のコマンドでジョブの進行状況を表示できます。
$ while ibmcloud is image --output json ${image_id} | jq -r .status | grep -xq pending; do sleep 1; done次のコマンドで、新しく作成されたイメージの情報を表示できます。
$ ibmcloud is image ${image_id}
4.2. CLI を使用した IBM Cloud へのインスタンスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
IBM Cloud Web コンソールまたは CLI から、新しい RHEL AI IBM Cloud イメージを使用してインスタンスを起動できます。インスタンスを起動するには、どちらのデプロイメント方法でも使用できます。次の手順では、CLI を使用してカスタム IBM Cloud イメージで IBM Cloud インスタンスを起動する方法を示します。
デプロイメントオプションとして CLI を使用する場合は、「前提条件」に示すように、いくつかの設定を作成する必要があります。
前提条件
- RHEL AI IBM Cloud イメージを作成している。詳細は、「RHEL AI イメージの IBM Cloud イメージへの変換」を参照してください。
- IBM CLI を特定のマシンにインストールしている。スタンドアロンの IBM Cloud CLI のインストール を参照してください。
- Virtual Private Cloud (VPC) が設定されている。
- インスタンスのサブネットが作成されている。
手順
IBM Cloud アカウントにログインし、次のコマンドを実行してアカウント、リージョン、リソースグループを選択します。
$ ibmcloud login -c <ACCOUNT_ID> -r <REGION> -g <RESOURCE_GROUP>CLI で IBM Cloud インスタンスを起動する前に、インスタンス用にいくつかの設定変数を作成する必要があります。
次のコマンドを実行して、IBM Cloud の
infrastructure-serviceプラグインをインストールします。$ ibmcloud plugin install infrastructure-serviceIBM Cloud アカウントの SSH 公開鍵を作成する必要があります。IBM Cloud は RSA 鍵と ed25519 鍵をサポートしています。次のコマンド例では、ed25519 鍵タイプを使用し、
ibmcloudという名前を付けます。$ ssh-keygen -f ibmcloud -t ed25519これで、次のサンプルコマンドに従って、公開鍵を IBM Cloud アカウントにアップロードできます。
$ ibmcloud is key-create my-ssh-key @ibmcloud.pub --key-type ed25519サンプルコマンドに従って、IBM Cloud インスタンスの Floating IP を作成する必要があります。必ずリージョンを希望のゾーンに変更してください。
$ ibmcloud is floating-ip-reserve my-public-ip --zone <region>
デプロイメントに使用するインスタンスプロファイルを選択する必要があります。次のコマンドを実行して、すべてのプロファイルをリスト表示します。
$ ibmcloud is instance-profiles希望するインスタンスプロファイルをメモしておきます。インスタンスのデプロイメントに必要になります。
これで、IBM Cloud インスタンスの作成を開始できます。インスタンスを作成するときに環境変数を設定します。
name=my-rhelai-instance vpc=my-vpc-in-us-east zone=us-east-1 subnet=my-subnet-in-us-east-1 instance_profile=gx3-64x320x4l4 image=my-custom-rhelai-image sshkey=my-ssh-key floating_ip=my-public-ip disk_size=250次のコマンドを実行して、インスタンスを起動できます。
$ ibmcloud is instance-create \ $name \ $vpc \ $zone \ $instance_profile \ $subnet \ --image $image \ --keys $sshkey \ --boot-volume '{"name": "'${name}'-boot", "volume": {"name": "'${name}'-boot", "capacity": '${disk_size}', "profile": {"name": "general-purpose"}}}' \ --allow-ip-spoofing false次のコマンドを実行して、Floating IP をインスタンスにリンクします。
$ ibmcloud is floating-ip-update $floating_ip --nic primary --in $name
ユーザーアカウント
RHEL AI AMI のデフォルトのユーザーアカウントは cloud-user です。パスワードなしで sudo 経由ですべての権限が与えられています。
検証
Red Hat Enterprise Linux AI ツールが正しくインストールされていることを確認するには、
ilabコマンドを実行します。$ ilab出力例
$ ilab Usage: ilab [OPTIONS] COMMAND [ARGS]... CLI for interacting with InstructLab. If this is your first time running ilab, it's best to start with `ilab config init` to create the environment. Options: --config PATH Path to a configuration file. [default: /home/<user>/.config/instructlab/config.yaml] -v, --verbose Enable debug logging (repeat for even more verbosity) --version Show the version and exit. --help Show this message and exit. Commands: config Command Group for Interacting with the Config of InstructLab. data Command Group for Interacting with the Data generated by... model Command Group for Interacting with the Models in InstructLab. system Command group for all system-related command calls taxonomy Command Group for Interacting with the Taxonomy of InstructLab. Aliases: chat model chat generate data generate serve model serve train model train
4.3. IBM Cloud インスタンスへのストレージの追加 リンクのコピーリンクがクリップボードにコピーされました!
[ibm-c] では、メインの IBM Cloud ディスクのストレージに 250 GB のサイズ制限があります。RHEL AI では、モデルと生成データ用にさらに多くのストレージが必要になる場合があります。
インスタンスに追加のディスクをアタッチし、それを使用して RHEL AI のデータを保持することで、ストレージを追加できます。
前提条件
- IBM Cloud RHEL AI インスタンスがある。
手順
次のコマンドを実行して、
nameと呼ばれる環境変数を作成し、使用するインスタンスの名前を代入します。$ name=my-rhelai-instance次のコマンドを実行して、新しいボリュームのサイズを設定します。
$ data_volume_size=1000次のコマンドを実行して、インスタンスボリュームを作成してアタッチします。
$ ibmcloud is instance-volume-attachment-add data ${name} \ --new-volume-name ${name}-data \ --profile general-purpose \ --capacity ${data_volume_size}次のコマンドですべてのディスクをリスト表示できます。
$ lsblk使用しているディスクパスの内容を指定して
disk変数を作成します。以下のコマンド例は、/dev/vdbパスを使用します。$ disk=/dev/vdb次のコマンドを実行して、ディスク上にパーティションを作成します。
$ sgdisk -n 1:0:0 $disk次のコマンドを実行して、パーティションをフォーマットし、ラベルを付けます。
$ mkfs.xfs -L ilab-data ${disk}1システムを任意のディレクトリーに自動的にマウントするように設定できます。以下のコマンド例では、
/mntディレクトリーを使用しています。$ echo LABEL=ilab-data /mnt xfs defaults 0 0 >> /etc/fstab次のコマンドを実行して、マウントの新しい設定を確認するために
systemdサービスを再ロードします。$ systemctl daemon-reload次のコマンドでディスクをマウントします。
$ mount -a次のコマンドを実行して、新しいファイルシステムのすべてのユーザーに書き込み権限を付与します。
$ chmod 1777 /mnt/
Red Hat Enterprise Linux AI の更新
RHEL AI の最新の z-stream バージョンに更新するには、Red Hat Enterprise Linux AI の更新 ドキュメントの手順に従ってください。
第5章 Google Cloud Platform (GCP) への RHEL AI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Platform に Red Hat Enterprise Linux AI をインストールしてデプロイするには、まず RHEL AI イメージを GCP イメージに変換する必要があります。その後、GCP イメージを使用してインスタンスを起動し、Google Cloud Platform マシンに RHEL AI をデプロイできます。
5.1. RHEL AI イメージの Google Cloud Platform イメージへの変換 リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Platform で起動可能なイメージを作成するには、Google Cloud Platform アカウントを設定して、Google Cloud Storage バケットを作成し、RHEL AI raw イメージを使用して Google Cloud Platform イメージを作成する必要があります。
前提条件
- 特定のマシンに Google Cloud Platform CLI をインストールしている。GCP CLI のインストールの詳細は、Linux に Google Cloud Platform CLI をインストールする を参照してください。
- Red Hat Enterprise Linux バージョン 9.2 - 9.4 システムを使用している。
- マシンに追加の 100 GB のディスク容量がある。
手順
次のコマンドで Google Cloud Platform にログインします。
$ gcloud auth loginログインの出力例
$ gcloud auth login Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?XXXXXXXXXXXXXXXXXXXX You are now logged in as [user@example.com]. Your current project is [your-project]. You can change this setting by running: $ gcloud config set project PROJECT_IDGCP イメージを作成する前に、いくつかの Google Cloud Platform 設定をセットアップし、GCP Storage Container を作成する必要があります。
プロジェクトを使用するように Google Cloud Platform CLI を設定します。
$ gcloud_project=your-gcloud-project $ gcloud config set project $gcloud_project操作するリージョンを定義する環境変数を作成します。
$ gcloud_region=us-central1Google Cloud Platform Storage Container を作成します。
$ gcloud_bucket=name-for-your-bucket $ gsutil mb -l $gcloud_region gs://$gcloud_bucket
-
GCP ストレージコンテナーがセットアップされました。Red Hat Enterprise Linux AI ダウンロードページ から GCP
tar.gzイメージをダウンロードする必要があります。 次のコマンドで
tar.gzファイルを展開します。$ gunzip <downloaded-gcp-gz-image>RHEL AI Google Cloud Platform イメージとして使用する名前を設定します。
$ image_name=rhel-ai-1-2次のコマンドを実行して、
tar.gzファイルを Google Cloud Platform Storage Container にアップロードします。$ gsutil cp rhelai_gcp.tar.gz "gs://${gcloud_bucket}/$image_name.tar.gz"次のコマンドを使用して、アップロードしたばかりの
tar.gzファイルから Google Cloud Platform イメージを作成します。$ gcloud compute images create \ "$image_name" \ --source-uri="gs://${gcloud_bucket}/$image_name.tar.gz" \ --family "rhel-ai" \ --guest-os-features=GVNIC
5.2. CLI を使用した Google Cloud Platform へのインスタンスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Platform Web コンソールまたは CLI から、新しい RHEL AI Google Cloud Platform イメージを使用してインスタンスを起動できます。インスタンスを起動するには、どちらのデプロイメント方法でも使用できます。次の手順では、CLI を使用してカスタム Google Cloud Platform イメージで Google Cloud Platform インスタンスを起動する方法を示します。
デプロイメントオプションとして CLI を使用する場合は、「前提条件」に示すように、いくつかの設定を作成する必要があります。
前提条件
- RHEL AI Google Cloud Platform イメージを作成している。詳細は、「RHEL AI イメージの Google Cloud Platform イメージへの変換」を参照してください。
- 特定のマシンに Google Cloud Platform CLI をインストールしている。Linux に Google Cloud Platform CLI をインストールする を参照してください。
手順
次のコマンドを実行して、Google Cloud Platform アカウントにログインします。
$ gcloud auth login- CLI で Google Cloud Platform インスタンスを起動する前に、インスタンス用にいくつかの設定変数を作成する必要があります。
デプロイメントに使用するインスタンスプロファイルを選択する必要があります。次のコマンドを実行して、目的のリージョン内のすべてのプロファイルをリスト表示します。
$ gcloud compute machine-types list --zones=<zone>希望するマシンタイプをメモしてください。インスタンスのデプロイメントに必要になります。
これで、Google Cloud Platform インスタンスの作成を開始できます。インスタンスを作成するときに環境変数を設定します。
name=my-rhelai-instance zone=us-central1-a machine_type=a3-highgpu-8g accelerator="type=nvidia-h100-80gb,count=8" image=my-custom-rhelai-image disk_size=1024 subnet=default使用するゾーンを設定します。
$ gcloud config set compute/zone $zone次のコマンドを実行して、インスタンスを起動できます。
$ gcloud compute instances create \ ${name} \ --machine-type ${machine_type} \ --image $image \ --zone $zone \ --subnet $subnet \ --boot-disk-size ${disk_size} \ --boot-disk-device-name ${name} \ --accelerator=$accelerator
検証
Red Hat Enterprise Linux AI ツールが正しくインストールされていることを確認するには、
ilabコマンドを実行します。$ ilab出力例
$ ilab Usage: ilab [OPTIONS] COMMAND [ARGS]... CLI for interacting with InstructLab. If this is your first time running ilab, it's best to start with `ilab config init` to create the environment. Options: --config PATH Path to a configuration file. [default: /home/<user>/.config/instructlab/config.yaml] -v, --verbose Enable debug logging (repeat for even more verbosity) --version Show the version and exit. --help Show this message and exit. Commands: config Command Group for Interacting with the Config of InstructLab. data Command Group for Interacting with the Data generated by... model Command Group for Interacting with the Models in InstructLab. system Command group for all system-related command calls taxonomy Command Group for Interacting with the Taxonomy of InstructLab. Aliases: chat model chat generate data generate serve model serve train model train
Red Hat Enterprise Linux AI の更新
RHEL AI の最新の z-stream バージョンに更新するには、Red Hat Enterprise Linux AI の更新 ドキュメントの手順に従ってください。
第6章 Azure への RHEL AI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Azure に Red Hat Enterprise Linux AI をインストールしてデプロイする方法は複数あります。
- RHEL AI は、Azure Marketplace で購入できます。
- RHEL AI ダウンロードページ から RHEL AI VHD をダウンロードし、Azure イメージに変換できます。
VHD を使用して Azure に Red Hat Enterprise Linux AI をインストールしてデプロイするには、まず RHEL AI イメージを Azure イメージに変換する必要があります。その後、Azure イメージを使用してインスタンスを起動し、Azure マシンに RHEL AI をデプロイできます。
6.1. RHEL AI イメージの Azure イメージへの変換 リンクのコピーリンクがクリップボードにコピーされました!
Azure で起動可能なイメージを作成するには、Azure アカウントを設定し、Azure ストレージコンテナーを作成し、RHEL AI VHD イメージを使用して Azure イメージを作成する必要があります。
前提条件
- 特定のマシンに Azure CLI をインストールしている。Azure CLI のインストールの詳細は、Linux に Azure CLI をインストールする を参照してください。
- 特定のマシンに AzCopy をインストールしている。AzCopy のインストールの詳細は、Linux に AzCopy をインストールする を参照してください。
手順
次のコマンドを実行して、Azure にログインします。
$ az loginログインの出力例
$ az login A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`. [ { "cloudName": "AzureCloud", "homeTenantId": "c7b976df-89ce-42ec-b3b2-a6b35fd9c0be", "id": "79d7df51-39ec-48b9-a15e-dcf59043c84e", "isDefault": true, "managedByTenants": [], "name": "Team Name", "state": "Enabled", "tenantId": "0a873aea-428f-47bd-9120-73ce0c5cc1da", "user": { "name": "user@example.com", "type": "user" } } ]次のコマンドを使用して、
azcopyツールでログインします。$ keyctl new_session $ azcopy loginAzure イメージを作成する前に、さまざまな Azure 設定をセットアップし、Azure Storage Container を作成する必要があります。
次のコマンドを使用して、インスタンスのロケーションを定義する環境変数を作成します。
$ az_location=eastusリソースグループを作成し、その名前を
az_resource_groupという名前の環境変数に保存します。次の例では、eastusのロケーションにDefaultという名前のリソースグループを作成します。(既存のリソースグループを使用する場合は、この手順を省略できます)。$ az_resource_group=Default $ az group create --name ${az_resource_group} --location ${az_location}次のコマンドを実行して、Azure ストレージアカウントを作成し、
az_storage_accountという名前の環境変数に名前を保存します。$ az_storage_account=THE_NAME_OF_YOUR_STORAGE_ACCOUNT$ az storage account create \ --name ${az_storage_account} \ --resource-group ${az_resource_group} \ --location ${az_location} \ --sku Standard_LRS次のコマンドを使用して、環境変数
az_storage_containerという名前の Azure Storage Container を作成します。$ az_storage_container=NAME_OF_MY_BUCKET $ az storage container create \ --name ${az_storage_container} \ --account-name ${az_storage_account} \ --public-access off次のコマンドを実行すると、Azure アカウントリストからサブスクリプション ID を取得できます。
$ az account list --output tableサブスクリプション ID を使用して `az_subscription_id` という名前の変数を作成します。
$ az_subscription_id=46c08fb3-83c5-4b59-8372-bf9caf15a681ユーザーにストレージコンテナーへの
azcopy書き込み権限を付与します。この例では、ユーザーuser@example.comに権限を付与します。$ az role assignment create \ --assignee user@example.com \ --role "Storage Blob Data Contributor" \ --scope /subscriptions/${az_subscription_id}/resourceGroups/${az_resource_group}/providers/Microsoft.Storage/storageAccounts/${az_storage_account}/blobServices/default/containers/${az_storage_container}
- Azure ストレージコンテナーがセットアップされました。Red Hat Enterprise Linux AI ダウンロードページ から Azure VHD イメージをダウンロードする必要があります。
次のコマンドで
vhd.gzファイルを展開します。$ gunzip <downloaded-azure-gz-image>RHEL AI Azure イメージとして使用する名前を設定します。
$ image_name=rhel-ai-1.5次のコマンドを実行して、VHD ファイルを Azure Storage Container にアップロードします。
$ az_vhd_url="https://${az_storage_account}.blob.core.windows.net/${az_storage_container}/$(basename ${vhd_file})" $ azcopy copy "$vhd_file" "$az_vhd_url"次のコマンドを使用して、アップロードしたばかりの VHD ファイルから Azure イメージを作成します。
$ az image create --resource-group $az_resource_group \ --name "$image_name" \ --source "${az_vhd_url}" \ --location ${az_location} \ --os-type Linux \ --hyper-v-generation V2
6.2. CLI を使用した Azure へのインスタンスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Azure Web コンソールまたは CLI から、新しい RHEL AI Azure イメージを使用してインスタンスを起動できます。インスタンスを起動するには、どちらのデプロイメント方法でも使用できます。次の手順では、CLI を使用してカスタム Azure イメージで Azure インスタンスを起動する方法を示します。
デプロイメントオプションとして CLI を使用する場合は、「前提条件」に示すように、いくつかの設定を作成する必要があります。
前提条件
- RHEL AI Azure イメージを作成している。詳細は、「RHEL AI イメージの Azure イメージへの変換」を参照してください。
- 特定のマシンに Azure CLI をインストールしている。Linux に Azure CLI をインストールする を参照してください。
手順
次のコマンドを実行して、Azure アカウントにログインします。
$ az loginデプロイメントに使用するインスタンスプロファイルを選択する必要があります。次のコマンドを実行して、目的のリージョン内のすべてのプロファイルをリスト表示します。
$ az vm list-sizes --location <region> --output table希望するインスタンスプロファイルをメモしておきます。インスタンスのデプロイメントに必要になります。
これで、Azure インスタンスの作成を開始できます。インスタンスを作成するときに環境変数を設定します。
name=my-rhelai-instance az_location=eastus az_resource_group=my_resource_group az_admin_username=azureuser az_vm_size=Standard_ND96isr_H100_v5 az_image=my-custom-rhelai-image sshpubkey=$HOME/.ssh/id_rsa.pub disk_size=1024次のコマンドを実行して、インスタンスを起動できます。
$ az vm create \ --resource-group $az_resource_group \ --name ${name} \ --image ${az_image} \ --size ${az_vm_size} \ --location ${az_location} \ --admin-username ${az_admin_username} \ --ssh-key-values @$sshpubkey \ --authentication-type ssh \ --nic-delete-option Delete \ --accelerated-networking true \ --os-disk-size-gb 1024 \ --os-disk-name ${name}-${az_location}
検証
Red Hat Enterprise Linux AI ツールが正しくインストールされていることを確認するには、
ilabコマンドを実行します。$ ilab出力例
$ ilab Usage: ilab [OPTIONS] COMMAND [ARGS]... CLI for interacting with InstructLab. If this is your first time running ilab, it's best to start with `ilab config init` to create the environment. Options: --config PATH Path to a configuration file. [default: /home/<user>/.config/instructlab/config.yaml] -v, --verbose Enable debug logging (repeat for even more verbosity) --version Show the version and exit. --help Show this message and exit. Commands: config Command Group for Interacting with the Config of InstructLab. data Command Group for Interacting with the Data generated by... model Command Group for Interacting with the Models in InstructLab. system Command group for all system-related command calls taxonomy Command Group for Interacting with the Taxonomy of InstructLab. Aliases: chat model chat generate data generate serve model serve train model train
Red Hat Enterprise Linux AI の更新
RHEL AI の最新の z-stream バージョンに更新するには、Red Hat Enterprise Linux AI の更新 ドキュメントの手順に従ってください。
第7章 インスタンスへのストレージの追加 リンクのコピーリンクがクリップボードにコピーされました!
一部のクラウドインスタンスでは、デフォルトのディスクに RHEL AI エンドツーエンドワークフローを実行するための十分なストレージがありません。追加データを保持するディレクトリーを追加できます。
7.1. インスタンスへのデータストレージディレクトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、RHEL AI は設定データを $HOME ディレクトリーに保持します。InstructLab データを保持するために、このデフォルトを別のディレクトリーに変更できます。
前提条件
- Red Hat Enterprise Linux AI インスタンスがある。
- インスタンスに別のストレージディスクが追加されている。
手順
次のコマンドを実行して
$HOME/.bash_profileファイルに書き込むことで、ILAB_HOME環境変数を設定できます。$ echo 'export ILAB_HOME=/mnt' >> $HOME/.bash_profile次のコマンドを使用して
$HOME/.bash_profileファイルを再ロードすると、変更が有効になります。$ source $HOME/.bash_profile次に、以下のコマンドで
containersディレクトリーを作成する必要があります。$ mkdir /mnt/.config/containers以下のコマンドを使用して、
storage.confファイルをcontainersディレクトリーにコピーします。$ cp /etc/skel/.config/containers/storage.conf /mnt/.config/containers/