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)によってほぼ可能になりました。
今日最も高度なチャットボット、例えばSiriやAlexa、ChatGPTはすべて、事前学習された大規模言語モデル(LLM)に依存しており、AIアライメント・プロセスの中でタスクを迅速に学習できるようになっています。しかし、ここまで高度な人工知能を構築するには、多大な費用と時間がかかり、生成されるモデルは複雑で微妙な人間らしい状況に対応するのに十分な深さを欠くことがしばしばあります。IBM Institute of Business Valueによると、エグゼクティブは、主に生成AIアプリケーション向けのLLM構築の需要により、コンピューティングの平均コストがほぼ90%上昇すると予想しています。
チャットボット向け大規模アライメント(LAB)は、組織がチャットボットに遂行させたい特定のタスク向けにデータを合成生成する手法です。従来の学習方法とは異なり、既に学習した内容を上書きすることなく、チャットボットが新しい情報を素早く吸収し、新たなスキルを習得できるようにします。
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は、知識を補強するために、より焦点を絞ったドメイン特化型の学習を行うプロセスとして、検索拡張生成(RAG)を用いることが一般的です。RAGは、既存のベースモデルに対して特定の目的向けに独自データを追加する必要がある組織にとって有用なツールであり、独自データの管理権を手放すことなく活用できます。
InstructLab/LAB手法は、従来型のRAGプロセスと同じ目的で使用することができますが、既存の特定の知識を追加するのではなく、コミュニティーからのエンドユーザーの貢献を重視して、関連する知識やスキルを構築します。特定の目的向けにLLMをファイン・チューニングしたい組織は、RAGとInstructLab/LABの両方を活用することで、理想的な成果を得ることが可能です。
AIアプリケーションの要求が高まるにつれて、それらをサポートするLLMも大規模かつ複雑になり、基盤となるAIインフラストラクチャーに対する要求も厳しくなっています。InstructLab/LAB は、他のすべての高度なモデルトレーニング方法と同様に、 github.com/instructlabのグローバルオープンソースコミュニティからの貢献に基づきAIモデルを継続的に再トレーニングするために必要な性能ベンチマークを満たすGPU集約型インフラストラクチャーに依存しています。
幸いなことに、 IBMは LLM プロジェクトの成功に必要なすべてのデータ・ストレージ、管理、ワークフロー、実践方法を提供することに専念しています。
今日、LLMは、生成AIチャットボットやコーディングアシスタントから、エッジコンピューティング、モノのインターネット(IoT)アプリケーションなど、最もエキサイティングなAIのユースケースを支えている。それらは OpenAI や Claudeのような独自モデルであったり、 Mistral、 Llama-2、 IBMのGraniteモデルのように事前学習データをオープンソースの原則に基づけたモデルであったりします。
InstructLabは、公開されているモデルを使用する独自のモデルと同等またはそれを上回る性能を備えているという点で優れています。IBM watsonx®は、企業がAIの影響力を拡大・加速するために設計されたAIおよびデータプラットフォームであり、AIを広範に活用しています。例えば、最近のLAB学習モデルであるMerlinite-7Bは、IBM Researchの論文によると、重要な分野でいくつかの独自モデルを上回る性能を示しました。
高度な生成AIアプリケーションの要件を満たすために、開発者は多くの場合、特定のビジネス・ニーズに合わせて適応させる既存のLLMに依存しています。例えば、ある保険会社では、従業員が独自の顧客データから洞察を得るのに役立つ生成AIアプリケーションの構築を目指しています。現在では、チャットボット用に構築された既存のLLMを購入し、ニーズに応じて変更することになるでしょう。ただし、この方法にはいくつかの重要な制限があります。
InstructLabによるトレーニングでは、人間が生成したインプットとはるかに少ないリソースを使用してLLMをトレーニングできます。ほとんどの最新の LLM、特に強力なチャットボットの基盤となる LLM のトレーニング方法の基礎は、大規模な非構造化テキストデータセットによる広範な事前トレーニングです。このトレーニング・アプローチにより、LLMは調整段階で比較的迅速に新しいスキルを習得できますが、コストがかかり、広範な人間のインプットが必要になります。
IBM Researchが開発したLabアプローチでは、タクソノミーに基づいた合成データ生成を使用して、コストを削減し、人間によるインプットの必要性を低減します。InstructLab のオープンソース、コミュニティ主導の開発アプローチと組み合わせることで、このアプローチは、生成AIアプリケーションに必要な LLM の開発を効果的に民主化します。
InstructLab のコマンドラインインターフェース (CLI) は、開発者が管理に使用する命令セットであり、個人用ノートPCなどの広く使用されているデバイスでも実行できるように構築されており、開発者は AI コミュニティHugging Faceを通じて新しい知識やスキルを提供するよう奨励されています。
InstructLabは、オープンソースでコミュニティー・ベースのアプローチを採用し、幅広いユースケースに合わせてLLMを微調整しています。ここでは、最も一般的なものをいくつか紹介します。
InstructLab アプローチを使用して開発された LLM は、科学者が医学研究で画期的な進歩を遂げるのを支援するための大量の臨床データの精査から、病歴などからの患者のリスクの評価に至るまで、医療業界の多くのアプリケーションのための新しいスキルと知識を習得するようにトレーニングできます。
銀行業界では、InstructLabのアプローチにより、取引分析とモデル予測に重点を置いたLLMを構築できるため、取引戦略に関連する傾向の特定とリスクの予測に役立ちます。また、退職後の貯蓄や予算編成など、個人の財務における生成AIアプリケーション用の LLM のトレーニングにも使用できます。
InstructLabのアプローチを使用してトレーニングされたLLMは、商品の返品や特定の商品のリクエストなど、カスタマー・サービスの特定の分野でトレーニングされたインテリジェントなチャットボットを強化することができます。さらに、LABメソッドは、LLMを、予定のスケジュール管理、旅行の予約、税金の申告など、複雑なスキルを持つバーチャル・アシスタントとしてファイン・チューニングするのに役立ちます。
InstructLabの手法は、さまざまな目的でマーケティングにおいて生成AIアプリケーションの背後にあるLLMをファイン・チューニングするのに役立ちます。顧客データを精査する方法を学習して、行動、製品の好み、さらには将来の製品設計についての洞察を得ることができます。また、靴や洋服のサイズ、色の好みなど、カスタマイズされた商品のアドバイスを提供するために必要なスキルも習得できます。
DevOpsライフサイクルの改善に役立つ LLM をトレーニングするための InstructLab メソッドのアプリケーションは、開発者にいくつかの重要なメリットをもたらします。InstructLab メソッドを使用してトレーニングを受けた LLM は、コードを生成してスクリプトを作成し、インフラストラクチャのプロビジョニング (Infrastructure as Code (IaC)アプリケーション) を自動化し、日常的な問題解決、トラブルシューティング、さらにはコード分析とレビューの時間を短縮して改善することができます。