Getting Started
RHEL AI と製品アーキテクチャーの紹介
概要
第1章 Red Hat Enterprise Linux AI の概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux AI は、オープンソースの Large Language Models (LLM) 上でエンタープライズアプリケーションを開発できるプラットフォームです。RHEL AI は、Red Hat InstructLab オープンソースプロジェクトから構築されています。InstructLab の詳細は、「InstructLab および RHEL AI」セクションを参照してください。
Red Hat Enterprise Linux AI を使用すると、次のことが可能になります。
- LLM をホストし、オープンソースの Granite ファミリーの大規模言語モデル (LLM) と対話します。
- LAB メソッドを使用して、独自のナレッジまたはスキルデータを作成し、Git リポジトリーに追加します。その後、機械学習に関する最小限の予備知識があれば、そのデータに基づいてモデルをファインチューニングできます。
- 独自のデータを使用してファインチューニングされたモデルを操作します。
Red Hat Enterprise Linux AI を使用すると、大規模言語モデル (LLM) に直接貢献できるようになります。そのため、チャットボットなどの AI ベースのアプリケーションを簡単かつ効率的に構築できます。
1.1. Red Hat Enterprise Linux AI の一般的な用語 リンクのコピーリンクがクリップボードにコピーされました!
この用語集では、Red Hat Enterprise Linux AI の一般的な用語を定義します。
- InstructLab
-
InstructLab とは、
ilabコマンドラインインターフェイス (CLI) ツールを使用して AI 大規模言語モデル (LLM) を簡単に利用できるプラットフォームを提供するオープンソースプロジェクトです。 - 大規模言語モデル
- LLM として知られる、言語生成やタスク処理が可能な人工知能の一種です。
- 合成データ生成 (SDG)
- 大規模な LLM (大規模言語モデル) と人間が生成したサンプルを使用して人工データを作成し、それを他の LLM のトレーニングに使用できるプロセス。
- ファインチューニング
- 特定の情報を知ることや特定のタスクを実行することなど、特定の目的を達成するために LLM をトレーニングする手法。
- LAB
- "Large-Scale Alignment for ChatBots" の頭字語です。IBM Research によって発明された LAB は、合成データに基づく LLM 向けの新しい多段階トレーニングおよびファインチューニング方法です。InstructLab は、合成生成およびトレーニング中に LAB メソッドを実装します。
- 複数フェーズトレーニング
- LAB メソッドが実装するファインチューニングストラテジー。このプロセスでは、モデルが別々のフェーズで複数のデータセットを使用してファインチューニングされます。モデルは、チェックポイントとして保存されるエポックと呼ばれる複数のフェーズでトレーニングされます。最もパフォーマンスの優れたチェックポイントが、次のフェーズでのトレーニングに使用されます。完全にファインチューニングが行われたモデルは、最終フェーズで最もパフォーマンスの高いチェックポイントとなります。
- サービング (提供)
- 多くの場合、「モデルのサービング」とも呼ばれる、LLM またはトレーニング済みモデルをサーバーにデプロイメントすることです。このプロセスにより、チャットボットとしてモデルと対話できるようになります。
- 推論
- モデルにサービスを提供したり、モデルとチャットしたりする場合、推論とは、モデルが入力データに基づいて出力を処理、推論、および生成することです。
- タクソノミー
- LAB メソッドは、情報分類方法であるタクソノミーをもとに機能します。RHEL AI では、タクソノミーツリーをカスタマイズして、独自のデータでファインチューニングされたモデルを作成できます。
- Granite
- IBM によってトレーニングされたオープンソース (Apache 2.0) の大規模言語モデルです。RHEL AI では、カスタマイズ用の基本 LLM として Granite ファミリーモデルをダウンロードできます。
- PyTorch
- GPU および CPU でのディープラーニング向けに最適化された Tensor ライブラリーです。
- vLLM
- LLM 用のメモリー効率の高い推論およびサービングエンジンライブラリーです。
- FSDP
- Fully Shared Data Parallels の頭字語。Pytorch ツール FSDP は、ハードウェア上の複数のデバイスにコンピューティング能力を分散できます。これにより、トレーニングプロセスが最適化され、ファインチューニングがより高速になり、メモリー効率が向上します。このツールは DeepSpeed の機能を共有しています。
- DeepSpeed
- 複数のデバイスにコンピューティングリソースを分散することで、LLM のトレーニングとファインチューニングを最適化する Python ライブラリー。このツールは FSDP の機能を共有します。Deepspeed は現在、NVIDIA マシンに推奨されるハードウェアオフローダーです。
1.2. InstructLab および RHEL AI リンクのコピーリンクがクリップボードにコピーされました!
InstructLab は、大規模言語モデルへの貢献を促進するオープンソース AI プロジェクトです。RHEL AI は、InstructLab プロジェクトの基盤を採用し、アプリケーション上の LLM 統合のためのエンタープライズプラットフォームを構築します。Red Hat Enterprise Linux AI は、専用のグラフィックプロセッシングユニット (GPU) を備えた高性能サーバープラットフォームを対象としています。InstructLab は、ラップトップやパーソナルコンピューターなどの小規模プラットフォームを対象としています。
InstructLab は、LAB (Large-scale Alignment for chatBots) 手法を実装しています。この手法は、合成データに基づく LLM 向けの新しいファインチューニング方法です。LAB プロセスは、いくつかのコンポーネントで構成されています。
- 分類に基づいた合成データ生成プロセス
- 複数フェーズのトレーニングプロセス
- ファインチューニングフレームワーク
RHEL AI と InstructLab を使用すると、独自のユースケースに合わせてドメイン固有のナレッジを使用して LLM をカスタマイズできます。
1.2.1. スキルとナレッジの概要 リンクのコピーリンクがクリップボードにコピーされました!
スキルとナレッジは、タクソノミーツリーに追加できるデータの種類です。上記のタイプを使用して、独自のデータでファインチューニングされたカスタム LLM モデルを作成できます。
1.2.1.1. ナレッジ リンクのコピーリンクがクリップボードにコピーされました!
AI モデルのナレッジは、データとファクトで構成されています。モデルのナレッジセットを作成するときは、モデルが質問にさらに正確に回答できるように、追加のデータと情報を提供します。スキルとは、AI モデルが何かを行う方法を学習するための情報です。一方で、ナレッジは、ファクト、データ、またはリファレンスを基にした質問に答えるモデルの能力に基づいています。たとえば、製品のドキュメントを含むデータセットを作成し、モデルがそのドキュメントで提供される情報を学習できます。
1.2.1.2. スキル リンクのコピーリンクがクリップボードにコピーされました!
スキルとは、送信された情報に基づいて AI モデルをトレーニングすることを目的とした機能ドメインです。スキルを作成するときは、モデルにタスクの実行方法を教えます。RHEL AI のスキルは、次のカテゴリーに分類されます。
構成スキル: 構成スキルにより、AI モデルは特定のタスクや機能を実行できます。構成スキルには、以下の 2 つのタイプがあります。
- 自由形式の構成スキル: 機能するために追加のコンテキストや情報を必要としないパフォーマンススキルです。
- グラウンディング構成スキル: このスキルは追加のコンテキストを必要とする実行スキルです。たとえば、モデルが表を読み取れるように訓練できます。この場合、追加のコンテキストは表のレイアウトの例などです。
- 基礎スキル: 基礎スキルとは、数学、推論、コーディングに関わるスキルです。
第2章 Red Hat Enterprise Linux AI 製品アーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux AI にはさまざまな独自の機能が含まれており、次のコンポーネントで構成されています。
2.1. InstructLab で起動可能な Red Hat Enterprise Linux リンクのコピーリンクがクリップボードにコピーされました!
RHEL AI をインストールし、Red Hat が提供する起動可能な RHEL コンテナーイメージを使用して InstructLab ツールをデプロイできます。
この RHEL AI イメージには、InstructLab、RHEL 9.4、vLLM や DeepSpeed などのさまざまな推論およびトレーニングソフトウェアが含まれています。このイメージを起動したら、Red Hat および IBM が開発したさまざまな Granite モデルをダウンロードして、提供またはトレーニングできます。イメージとすべてのツールは、特定の独立系ソフトウェアベンダー (ISV) ハードウェアに合わせてコンパイルされます。イメージのアーキテクチャーの詳細は、インストールの概要 を参照してください。
2.1.1. InstructLab モデルの配置 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux AI 起動可能イメージには、InstructLab とそのツールが含まれています。InstructLab は、LAB (Large-Scale Alignment for ChatBots) と呼ばれる LLM のファインチューニングに対する新しいアプローチを使用します。LAB メソッドは、高品質の合成データ生成 (SDG) と複数フェーズトレーニングを実装するタクソノミーベースのシステムを使用します。
InstructLab CLI から構築された RHEL AI コマンドラインインターフェイス (CLI) を使用すると、独自のドメイン固有のナレッジから生成された合成データに基づいて Granite ベースモデルを調整することにより、独自のカスタム LLM を作成できます。
一般公開の場合、RHEL AI LLM のカスタマイズワークフローは次の手順で構成されます。
- 優先プラットフォームに RHEL AI をインストールして初期化します。
- CLI と Git ワークフローを使用して、タクソノミーツリーにスキルとナレッジを追加します。
-
mixtral-8x7B-Instruct教師モデルを使用して合成データ生成 (SDG) を実行します。SDG は、ユーザーが提供する特定のサンプルに基づいて、モデル調整用の何百、何千もの合成質問と回答のペアを生成できます。 -
InstructLab を使用して、新しく合成生成されたデータでベースモデルをトレーニングします。
prometheus-8x7B-V2.0ジャッジモデルは、新しくトレーニングされたモデルのパフォーマンスを評価します。 - InstructLab を vLLM と組み合わせて使用し、推論用の新しいカスタムモデルを提供します。
2.1.2. Granite モデル リンクのコピーリンクがクリップボードにコピーされました!
RHEL AI を使用すると、オープンソースライセンスの IBM Granite ファミリーの LLM をダウンロードできます。
スターター Granite モデルをベースとして使用し、ナレッジまたはスキルデータを使用してモデルを作成できます。これらのカスタム LLM を非公開にすることも、AI コミュニティーと共有することもできます。
Red Hat Enterprise Linux AI を使用すると、Red Hat と IBM により作成およびファインチューニングされた Granite モデルを使用したサービングやチャットも可能になります。