モデル・チューニングでは、機械学習モデルのハイパーパラメーターを最適化して、最高のトレーニング・パフォーマンスを実現します。このプロセスには、ハイパーパラメーター値の最適なセットが見つかるまで調整を行い、その結果、精度、生成品質、その他のパフォーマンス指標が向上します。
モデル・チューニングではモデルの最適なハイパーパラメーターが特定されるため、ハイパーパラメーター最適化、またはハイパーパラメーター・チューニングとも呼ばれます。
ハイパーパラメーターは、トレーニング用データからは導出できないモデル構成変数です。これらの変数はモデルの主要な機能と動作を決定します。学習率などの一部のハイパーパラメーターは、トレーニング中のモデルの動作をコントロールします。その他には、ニューラル・ネットワークの層数を設定するハイパーパラメーターなど、モデル自体の性質を決定するものもあります。
データサイエンティストは、トレーニングを開始する前に、機械学習(ML)モデルのハイパーパラメーター値を構成する必要があります。事前にハイパーパラメーターの正しい組み合わせを選択することは、MLモデルのトレーニングを成功させるために不可欠です。
モデル・パラメーター、またはモデルの重みは、人工知能(AI)モデルがトレーニング中に検出する変数です。AIアルゴリズムは、トレーニング用データセットの基本的な関係、パターン、分布を学習し、その結果を新しいデータに適用して予測を正確に行います。
機械学習アルゴリズムはトレーニングを受けると、パラメーターを設定および更新します。これらのパラメーターは、モデルがトレーニング用データセットから学習した内容を表し、最適化アルゴリズムの各反復で時間の経過とともに変化します。
ハイパーパラメーターの値がモデルのパフォーマンスに直接影響する方法のため、モデル・チューニングは欠かせません。ハイパーパラメーターが適切に設定されると、トレーニング中にモデルがより適切に学習するようになります。
適切な調整が行われないと、モデルがトレーニング・データに近づきすぎて新しいデータセットに適応できなくなる、過剰適合に陥りやすくなります。その他の欠点には、過剰なモデル・バイアスや分散などがあります。
各機械学習アルゴリズムには、独自の最適なハイパーパラメーターの組み合わせがあり、一部のアルゴリズムは他のアルゴリズムよりもパフォーマンスに影響を与えます。モデル・チューニングを最も影響力のあるハイパーパラメーターのコア・セットに限定することで、時間と計算リソースの要求を削減できます。
モデルがトレーニング用データに対して複雑すぎる場合、過剰適合が発生します。ハイパーパラメーターにより、層が多すぎる、またはトレーニング可能なパラメーターが多すぎるニューラル・ネットワークが作成されます。過剰適合では、モデルがトレーニング用データセットに過度に適合します。過剰適合したモデルは、トレーニング用データから一般化できないため、新しいデータに適応できません。
ここで、教室にいる2人の生徒を想像してください。一方の生徒は事実を暗記することで学習し、もう一方の生徒は教えられている基礎概念を理解することで学習します。これまでのところ、両者ともコース教材を網羅したテストでよい成績を収めています。しかし、学習内容を新しいトピックに適用する必要がある場合、どうなるでしょうか。
一般化できる学生は、学んだことを正常に転送しますが、記憶に依存している学生は同じことをするのに苦労するかもしれません。この学生は、コア原則を把握できずに、理解を授業内容の詳細に「過剰適合」させてしまっています。
バイアスとは、モデルの予測と実際の現実世界の結果との間のギャップです。バイアスは不完全なトレーニング用データセットから発生する場合もありますが、最適ではないモデル調整によってもバイアスが発生します。つまり、トレーニング用データが有効な場合でも、モデルは適切に学習できません。
バイアスの高いモデルはトレーニング用データの微妙な部分を無視し、トレーニング中に正確な予測を生成できない可能性があります。線形回帰などのより単純なアルゴリズムは、トレーニング用データ内のより複雑な関係を把握できないため、バイアスが高くなる傾向があります。
特定のタスクに適切なアルゴリズムを選択することは、モデルのチューニングを開始する前であっても、優れたパフォーマンスを得るための第一歩です。
一方、分散はモデルの予測の一貫性を表します。分散が大きいということは、モデルがトレーニング用データセットでは良好なパフォーマンスを発揮することが多いものの、未知のデータでは予測の一貫性が低くなることを意味します。分散の大きいモデルは過剰適合の影響を受け、トレーニング用データから学習した内容を新しいデータに転送できなくなります。
正則化は、バイアスと分散の比率をバイアスを大きくすることで過剰適合を減らす手法です。適切なモデル・チューニングにより、バイアスと分散のトレードオフを管理し、現実世界の予測を最適化できます。
モデル・チューニングは、最適なトレーニング結果をもたらすハイパーパラメーターの構成を検出することによって機能します。小規模でシンプルなモデルを構築する場合など、データサイエンティストは事前にハイパーパラメーターを手動で構成できる場合があります。しかし、Transformerやその他の複雑なモデルでは、ハイパーパラメーターの組み合わせが何千通りも考えられます。
選択肢が非常に多いため、データサイエンティストはハイパーパラメーターの検索空間を制限して、最適な結果が得られる可能性が最も高い潜在的な組み合わせの部分をカバーできます。また、自動化された方法を使用して、意図したユースケースに最適なハイパーパラメーターをアルゴリズムとして検出することもできます。
最も一般的なモデル・チューニング手法には、次のものがあります。
グリッド探索
ランダム検索
ベイズ最適化
Hyperband
グリッド検索は、「ブルート・フォース」モデル・チューニング手法です。データサイエンティストは、あらゆる可能なハイパーパラメーター値で構成される検索スペースを作成します。次に、グリッド検索アルゴリズムは、利用可能なすべてのハイパーパラメーターの組み合わせを生成します。このモデルは、各ハイパーパラメーターの組み合わせに対してトレーニングおよび検証されており、使用するために選択された最良のパフォーマンス・モデルがあります。
グリッド検索は、小さなサブセットではなく、すべての可能なハイパーパラメーター値をテストするため、包括的なチューニング方法です。この拡大された範囲の欠点は、グリッド検索に時間がかかり、リソースを大量に消費することです。
ランダム検索アルゴリズムは、すべての可能なハイパーパラメーター構成をテストするのではなく、潜在的なオプションの統計分布からハイパーパラメーター値を選択します。データサイエンティストは、最も可能性の高いハイパーパラメーター値を組み立て、アルゴリズムの実行可能なオプションを選択する可能性を高めます。
ランダム検索はグリッド検索よりも高速かつ簡単に実行できます。ただし、すべての組み合わせがテストされているわけではないため、最適なハイパーパラメーター構成が1つだけ見つかるという保証はありません。
グリッド検索やランダム検索とは異なり、ベイズ最適化では以前の試行の結果に基づいてハイパーパラメーター値を選択します。このアルゴリズムは、以前のハイパーパラメーター値のテスト結果を使用して、よりよい結果につながる可能性が高い値を予測します。
ベイズの最適化は、目的関数の確率モデルを構築することにより機能します。この代理関数は、結果が向上するにつれて時間の経過とともに効率が高まり、最適な構成に焦点を絞りながら、パフォーマンスの低いハイパーパラメーター値にリソースを割り当てることを回避します。
以前の一連のテストに基づいてモデルを最適化する手法は、順次モデルベース最適化(SMBO)として知られています。
Hyperband手法は、有望なハイパーパラメーター構成に焦点を当て、実行可能性の低い検索を中止することで、ランダム検索ワークフローを改善します。テストの各反復で、Hyperbandアルゴリズムは、テストされたすべての構成のうちパフォーマンスが最も悪い半分を削除します。
HyperBandの「連続した半分」アプローチは、候補者の元のプールからシングルベストが発見されるまで、最も有望な構成に焦点を合わせています。
モデル・チューニングは最適なハイパーパラメーターを発見するプロセスですが、モデル・トレーニングは、機械学習アルゴリズムにトレーニング用データセット内のパターンを識別し、新しいデータに対して正確な予測を行うように教えるプロセスです。
トレーニング・プロセスでは、最適化アルゴリズムを使用して、モデルの予測値と実際の値の間のギャップを測定する損失関数、つまり目的関数を最小化します。目標とは、目的関数の値を可能な限り低くするためのモデルの重みとバイアスの最適な組み合わせを特定することです。最適化アルゴリズムは、トレーニング中にモデルの重みを定期的に更新します。
勾配降下法の最適化アルゴリズム・ファミリーは、損失関数の勾配を降下させてその最小値(モデルが最も正確になるポイント)を検出することによって機能します。局所的最小値は指定された領域内の最小値ですが、関数の大域的最小値、つまり絶対的な最小値ではない場合があります。
損失関数の大域的最小値を常に特定する必要はありません。損失関数が正常に最小化された場合、モデルは収束に達したと言われます。
トレーニング後、モデルは相互検証(トレーニングの結果をトレーニング用データの別のピースでチェックする)を受けます。モデルの予測は検証データの実際の値と比較されます。最もパフォーマンスの高いモデルはテスト段階に移り、デプロイ前にその予測の精度が再度検査されます。相互検証とテストは、大規模言語モデル(LLM)の評価に不可欠です。
再トレーニングは、MLOps(機械学習オペレーション)AIライフサイクルの一部であり、時間の経過とともにモデルを継続的かつ自律的に再トレーニングして、パフォーマンスを最適に保ちます。
モデル・チューニングでは、トレーニングに最適なハイパーパラメーター値が特定されますが、ファイン・チューニングは、特定の下流タスク用に事前トレーニング済みの基盤モデルをファイン・チューニングするプロセスです。ファイン・チューニングは転移学習の一種であり、モデルの既存の学習を新しいタスクに適応させるものです。
ファイン・チューニングでは、事前トレーニング済みのモデルが、モデルの意図された使用ケースに関連する、より小規模でより専門的なデータセットで再度トレーニングされます。最初に小さなデータセットでモデルをトレーニングすると、過剰適合のリスクがありますが、大規模で一般化されたデータセットでトレーニングすると、そのリスクを軽減するのに役立ちます。
すべてのアルゴリズムには独自のハイパーパラメーター・セットがありますが、類似のアルゴリズム間で共有されるハイパーパラメーターも少なくありません。大規模言語モデル(LLM)を強化するニューラル・ネットワークの一般的なハイパーパラメーターには、次のものがあります。
学習率
学習率の減衰
エポック数
バッチ・サイズ
Momentum
隠れ層の数
1層あたりのノード数
活性化関数
学習率は、トレーニング中にモデルが重みを更新する速度を決定します。学習率が高いということは、モデルのトレーニング時間が短くなることを意味しますが、損失関数の局所的最小値を超えてしまうリスクがあります。一方、学習率が低いと、トレーニング時間が過剰になり、リソースとコストが増加する可能性があります。
学習率の低下は、時間の経過とともにMLアルゴリズムの学習率を低下させるハイパーパラメーターです。モデルは最初はより速くパラメーターを更新し、収束に近づくにつれてより微妙な更新を行い、オーバーシュートのリスクを軽減します。
モデルのトレーニングでは、モデルをトレーニング用データに複数回公開して、重みを繰り返し更新します。モデルがトレーニング用データセット全体を処理するたびにエポックが発生し、エポック・ハイパーパラメーターによってトレーニング・プロセスを構成するエポックの数が決まります。
機械学習アルゴリズムは、最適化アルゴリズムの各反復でトレーニング用データセット全体を処理するわけではありません。代わりに、トレーニング用データはバッチに分割され、各バッチの後にモデルの重みが更新されます。バッチ・サイズによって、各バッチ内のデータ・サンプルの数が決まります。
モメンタムとは、MLアルゴリズムが重みを以前の更新と同じ方向に更新する傾向のことです。アルゴリズムの学習に対する確信の強さだと考えるとよいでしょう。モメンタムが大きいと、アルゴリズムはより速く収束しますが、重要な局所的最小値を回避するリスクがあります。一方、モメンタムが小さいと、アルゴリズムが更新情報で右往左往し、進歩が止まってしまう可能性があります。
ニューラル・ネットワークは人間の脳の構造をモデル化し、相互接続されたニューロンまたはノードの複数の層で構成されます。この複雑さにより、Transformerモデルなどの高度なモデルは複雑な生成タスクを処理できるようになります。層が少ないほど、よりスリムなモデルになりますが、層を増やすと、より複雑なタスクが可能になります。
ニューラル・ネットワークの各層には、事前に決められた数のノードがあります。層の幅が広くなるにつれて、データ・ポイント間の複雑な関係を処理するモデルの能力も高まりますが、必要な計算能力が増大します。
活性化関数は、データ・グループ間に非線形境界を作成する機能をモデルに付与するハイパーパラメーターです。データ・ポイントを直線で区切られたグループに正確に分類することが不可能な場合、アクティベーションにより、より複雑な分割に必要な柔軟性がもたらされます。
活性化関数のないニューラル・ネットワークは、本質的には線形回帰モデルです。