InstructLabとは

複数のコンピューターモニターの前に座っている男性

共同執筆者

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

InstructLabとは

InstructLabは、生成AIアプリケーションの開発で使用されるLLMを大幅に改善することを目的としたAIモデルをトレーニングするためのメソッドです。

Instruct LabはIBM ResearchとRedHatによって開発されたオープンソース・プロジェクトであり、その構築と保守は世界中の開発者コミュニティ(InstructLab コミュニティとして知られています)に依存して行われます。

InstructLabプロジェクトは、大規模言語モデル(LLM)の開発を制約する問題、特にトレーニングやデータ収集のコストや複雑さ、スキルや知識を共有することの難しさなどに対処するために設立されました。

Forbesによると、InstructLabはLLMの性能を向上させ、従来のLLMトレーニングにおけるいくつかのスケーリング課題を解決し、企業が複数のLLMを構築し維持する必要をなくしました。これは、IBMが開発したLLMトレーニング・メソッド、Large-scale Alignment for chatBots(LAB)によってほぼ可能になりました。

チャットボット向け大規模アライメント(Lab)とは?

今日最も高度なチャットボット、例えばSiriやAlexa、ChatGPTはすべて、事前学習された大規模言語モデル(LLM)に依存しており、AIアライメント・プロセスの中でタスクを迅速に学習できるようになっています。しかし、ここまで高度な人工知能を構築するには、多大な費用と時間がかかり、生成されるモデルは複雑で微妙な人間らしい状況に対応するのに十分な深さを欠くことがしばしばあります。IBM Institute of Business Valueによると、エグゼクティブは、主に生成AIアプリケーション向けのLLM構築の需要により、コンピューティングの平均コストがほぼ90%上昇すると予想しています。

チャットボット向け大規模アライメント(LAB)は、組織がチャットボットに遂行させたい特定のタスク向けにデータを合成生成する手法です。従来の学習方法とは異なり、既に学習した内容を上書きすることなく、チャットボットが新しい情報を素早く吸収し、新たなスキルを習得できるようにします。  

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

InstructLabはどのように機能しますか?

InstructLabの大規模言語モデル(LLM)の開発・保守アプローチは、他のモデルとは異なり、開発プロセスを世界中の開発者コミュニティーの手に委ねる方式、すなわちオープンソースAIを採用しています。オープンソース・ソフトウェアが開発者によるコードや機能への貢献を可能にするのと同様に、オープンソースAIでは新しいスキルや機能を追加したり、既存モデルを迅速に反復改良したりすることが可能です。

LAB手法に基づき、InstructLabのLLM構築アプローチは、他と比べて以下の3つの重要な点で異なります。

  • 分類体系に基づくデータ・キュレーション
  • 大規模合成データ生成
  • 大規模アライメント調整

タクソノミーに基づくデータ・キュレーション

LLMの学習における分類体系(タクソノミー)とは、LLMが目的とする応用において重要なスキルや知識領域を階層的に整理した構造を指します。例えば、自律走行車向けに適用されるLLMの分類体系は、医療研究向けに適用されるLLMの分類体系とは大きく異なります。これは、レーシングドライバーが医師とは異なるスキルを学ぶ必要があるのと同じです。

InstructLabのデータは、モデルの既存のスキルや知識ベースが理解しやすい形で構造化されています。InstructLabの構造がシンプルであるため、開発者はギャップを特定し、必要に応じて知識やスキルを補完することが容易です。この分類体系に基づくデータ・キュレーションにより、モデルを研究用途や特定のIoT(モノのインターネット)アプリケーションなどの新しいユースケース向けに特化させ、適切なスキルを付与することも可能です。

この目的を達成するために、InstructLabのアプローチはYAML(“YAML Ain’t No Markup Language” または “Yet Another Markup Language”)に大きく依存しています。YAMLは、人間と機械の両方が解釈しやすい形でデータを表現するための標準化フォーマットです。YAMLの手法は、InstructLabプロセスの次の重要ステップである大規模合成データ生成への道を開きます。

大規模な合成データ生成

特定のモデルのトレーニングに使用するデータがキュレートされると、モデル自体はそのトレーニング・データに基づいて独自のデータを生成できるようになります。これは合成データ生成と呼ばれるプロセスです。LLMのトレーニングにおけるこのステップに対するInstructLabのアプローチは、実施規模と生成できるデータの精度において際立っています。InstructLabのアプローチは、Large-scale Alignment for chatBots(LAB)手法により、自動化されたステップを追加して、LLM が生成する回答をさらに改良し、正確性を確保しています。

このステップで生成される新しいデータは、InstructLabに限らずすべてのLLMのトレーニングにとって重要ですが、「教師」モデルと呼ばれる大規模モデルに依存しています。これは、より小規模で効率的な「学生モデル」が学習するためのラベルやデータを生成します。

LAB手法では、InstructLabのLLMは教師モデルに保存されたデータを直接使用するのではなく、特定のプロンプトを用います。これにより、データセットを指数的に拡張しつつ、生徒モデルによって生成される例がLLMの意図する目的に沿ったものとなることを保証します。

IBM Researchによれば、この手法は「チャットボットに遂行させたいタスク向けの合成データを体系的に生成するとともに、モデルが既に学習した内容を上書きすることなく、新しい知識や能力を基盤モデル(ファウンデーション・モデル)に取り込むことができる」とされています。

大規模なアライメント調整

InstructLab/Labプロセスの最終ステップでは、学習した合成データでLLMを再トレーニングし、スキルを磨き、回答の精度を向上させます。この最終ステップは、以下の2つのフェーズに分かれています。

  • 知識チューニング: 知識チューニングは、短期および長期の応答を必要とする新しい事実を導入し、それらの応答の精度を評価することにより、重要なスキルに関するLLMの基本知識を向上させることに焦点を当てたトレーニングです。
  • スキル・チューニング: 知識トレーニングが完了した後、モデルはデプロイされる前の最終準備の一環としてスキル・チューニングを受けます。スキル・チューニングでは、モデルは特定のスキルに関連するデータサンプルを用いて学習します(用途に応じて必要なスキルに基づく)。例えば、このトレーニング段階では、カスタマー・サービス用チャットボットは、何千時間もの顧客からの問い合わせのトランスクリプトに基づいてトレーニングされる可能性があります。
Red Hat

Red Hat Openshift on IBM CloudでAIの性能を活用

Red Hat OpenShift on IBM Cloudを使用して、AI対応アプリケーションを構築、デプロイ、管理するためのツールを備えた柔軟でスケーラブルな機械学習オペレーション・プラットフォームを実現する方法をご覧ください。

InstructLabと従来のRAGとの違い

従来型の方法でトレーニングされたLLMは、知識を補強するために、より焦点を絞ったドメイン特化型の学習を行うプロセスとして、検索拡張生成(RAG)を用いることが一般的です。RAGは、既存のベースモデルに対して特定の目的向けに独自データを追加する必要がある組織にとって有用なツールであり、独自データの管理権を手放すことなく活用できます。

InstructLab/LAB手法は、従来型のRAGプロセスと同じ目的で使用することができますが、既存の特定の知識を追加するのではなく、コミュニティーからのエンドユーザーの貢献を重視して、関連する知識やスキルを構築します。特定の目的向けにLLMをファイン・チューニングしたい組織は、RAGとInstructLab/LABの両方を活用することで、理想的な成果を得ることが可能です。

InstructLabのモデル・トレーニング・インフラストラクチャー

AIアプリケーションの要求が高まるにつれて、それらをサポートするLLMも大規模かつ複雑になり、基盤となるAIインフラストラクチャーに対する要求も厳しくなっています。InstructLab/LAB は、他のすべての高度なモデルトレーニング方法と同様に、 github.com/instructlabのグローバルオープンソースコミュニティからの貢献に基づきAIモデルを継続的に再トレーニングするために必要な性能ベンチマークを満たすGPU集約型インフラストラクチャーに依存しています。

幸いなことに、 IBMは LLM プロジェクトの成功に必要なすべてのデータ・ストレージ、管理、ワークフロー、実践方法を提供することに専念しています

InstructLabが重要な理由

今日、LLMは、生成AIチャットボットやコーディングアシスタントから、エッジコンピューティング、モノのインターネット(IoT)アプリケーションなど、最もエキサイティングなAIのユースケースを支えている。それらは OpenAIClaudeのような独自モデルであったり、 MistralLlama-2IBMのGraniteモデルのように事前学習データをオープンソースの原則に基づけたモデルであったりします。

InstructLabは、公開されているモデルを使用する独自のモデルと同等またはそれを上回る性能を備えているという点で優れています。IBM watsonx®は、企業がAIの影響力を拡大・加速するために設計されたAIおよびデータプラットフォームであり、AIを広範に活用しています。例えば、最近のLAB学習モデルであるMerlinite-7Bは、IBM Researchの論文によると、重要な分野でいくつかの独自モデルを上回る性能を示しました。

既存のLLMを改変することの限界

高度な生成AIアプリケーションの要件を満たすために、開発者は多くの場合、特定のビジネス・ニーズに合わせて適応させる既存のLLMに依存しています。例えば、ある保険会社では、従業員が独自の顧客データから洞察を得るのに役立つ生成AIアプリケーションの構築を目指しています。現在では、チャットボット用に構築された既存のLLMを購入し、ニーズに応じて変更することになるでしょう。ただし、この方法にはいくつかの重要な制限があります。

  • 組織が必要とする独自の専門分野を理解するために既存の LLM を微調整するには、費用がかかり、大量のリソースが必要になる場合があります。
  • モデルは、特定のニーズに合わせて一度調整すると、継続的に改善することが難しくなります。つまり、組織の要件に合わせて反復したり進化したりすることができません。
  • 特定のビジネス目的に合わせてLLMを改良するには、モデルをトレーニングするための大量の人間が生成したデータが必要であり、時間と費用がかかります。

InstructLabは、より少ないインプットと参考情報でLLMを改善

InstructLabによるトレーニングでは、人間が生成したインプットとはるかに少ないリソースを使用してLLMをトレーニングできます。ほとんどの最新の LLM、特に強力なチャットボットの基盤となる LLM のトレーニング方法の基礎は、大規模な非構造化テキストデータセットによる広範な事前トレーニングです。このトレーニング・アプローチにより、LLMは調整段階で比較的迅速に新しいスキルを習得できますが、コストがかかり、広範な人間のインプットが必要になります。

IBM Researchが開発したLabアプローチでは、タクソノミーに基づいた合成データ生成を使用して、コストを削減し、人間によるインプットの必要性を低減します。InstructLab のオープンソース、コミュニティ主導の開発アプローチと組み合わせることで、このアプローチは、生成AIアプリケーションに必要な LLM の開発を効果的に民主化します。

InstructLab のコマンドラインインターフェース (CLI) は、開発者が管理に使用する命令セットであり、個人用ノートPCなどの広く使用されているデバイスでも実行できるように構築されており、開発者は AI コミュニティHugging Faceを通じて新しい知識やスキルを提供するよう奨励されています。

InstructLabのユースケース

InstructLabは、オープンソースでコミュニティー・ベースのアプローチを採用し、幅広いユースケースに合わせてLLMを微調整しています。ここでは、最も一般的なものをいくつか紹介します。

ヘルスケア

InstructLab アプローチを使用して開発された LLM は、科学者が医学研究で画期的な進歩を遂げるのを支援するための大量の臨床データの精査から、病歴などからの患者のリスクの評価に至るまで、医療業界の多くのアプリケーションのための新しいスキルと知識を習得するようにトレーニングできます。

銀行

銀行業界では、InstructLabのアプローチにより、取引分析とモデル予測に重点を置いたLLMを構築できるため、取引戦略に関連する傾向の特定とリスクの予測に役立ちます。また、退職後の貯蓄や予算編成など、個人の財務における生成AIアプリケーション用の LLM のトレーニングにも使用できます。

カスタマー・サービス

InstructLabのアプローチを使用してトレーニングされたLLMは、商品の返品や特定の商品のリクエストなど、カスタマー・サービスの特定の分野でトレーニングされたインテリジェントなチャットボットを強化することができます。さらに、LABメソッドは、LLMを、予定のスケジュール管理、旅行の予約、税金の申告など、複雑なスキルを持つバーチャル・アシスタントとしてファイン・チューニングするのに役立ちます。

マーケティング

InstructLabの手法は、さまざまな目的でマーケティングにおいて生成AIアプリケーションの背後にあるLLMをファイン・チューニングするのに役立ちます。顧客データを精査する方法を学習して、行動、製品の好み、さらには将来の製品設計についての洞察を得ることができます。また、靴や洋服のサイズ、色の好みなど、カスタマイズされた商品のアドバイスを提供するために必要なスキルも習得できます。

DevOps

DevOpsライフサイクルの改善に役立つ LLM をトレーニングするための InstructLab メソッドのアプリケーションは、開発者にいくつかの重要なメリットをもたらします。InstructLab メソッドを使用してトレーニングを受けた LLM は、コードを生成してスクリプトを作成し、インフラストラクチャのプロビジョニング (Infrastructure as Code (IaC)アプリケーション) を自動化し、日常的な問題解決、トラブルシューティング、さらにはコード分析とレビューの時間を短縮して改善することができます。

関連ソリューション
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloudは、フルマネージドのOpenShiftコンテナ・プラットフォーム(OCP)です。

IBM Red Hat OpenShiftの詳細はこちら
Red Hatソリューション

Red Hat AIおよびInstructLabをIBM® Cloud上のサービスとして活用。

Red Hat AIソリューションの詳細はこちら
Red Hatコンサルティングサービス

Red HatテクノロジーとIBMコンサルティングでビジネスを変革し、コスト削減を達成し、ハイブリッドクラウドへの移行を加速させます。

Red Hatサービスの詳細はこちら
次のステップ

Red Hat AIおよびInstructLabをIBM® Cloud上のサービスとして活用。

Red Hat AIソリューションの詳細はこちら 詳細を取得する