大規模言語モデル (LLM) のデータ処理アルゴリズムを使用すると、データサンプルの編集と変換、低品質サンプルのフィルタリング、重複の削除ができます。さまざまなアルゴリズムを組み合わせてデータをフィルタリングし、要件を満たすテキストを生成できます。これにより、後続の LLM トレーニングのための高品質なデータが提供されます。このトピックでは、オープンソースの Alpaca-CoT プロジェクトからの少量のデータを例として使用します。PAI の LLM データ処理コンポーネントを使用して、教師ありファインチューニング (SFT) データをクリーンアップおよび処理する方法を示します。
データセットの説明
Machine Learning Designer の LLM Data Processing-Alpaca-Cot (SFT Data) プリセットテンプレートは、5,000 サンプルのデータセットを使用します。これらのサンプルは、オープンソースの Alpaca-CoT プロジェクトの生データから抽出されます。
パイプラインの作成と実行
Machine Learning Designer ページに移動します。
PAI コンソールにログインします。
左上隅で、リージョンを選択します。
左側のナビゲーションウィンドウで、[Workspace Management] をクリックし、ターゲットワークスペースの名前をクリックします。
左側のナビゲーションウィンドウで、[Model Development And Training] > [Machine Learning Designer] を選択します。
パイプラインを作成します。
[Preset Templates] タブで、[Business Realm] > [LLM] を選択し、[LLM Data Processing-Alpaca-Cot (SFT Data)] テンプレートカードの [Create] をクリックします。

パイプラインパラメーターを設定するか、デフォルト設定を維持し、[OK] をクリックします。
パイプラインリストで、作成したパイプラインを選択し、[Enter Pipeline] をクリックします。
パイプラインの説明:

次の表に、パイプラインの主要なアルゴリズムコンポーネントを示します。
LLM-MD5 Deduplicator (MaxCompute)-1
「text」フィールドのテキストのハッシュ値を計算し、重複するテキストを削除します。同じハッシュ値を持つテキストのインスタンスは 1 つだけ保持されます。
LLM-Count Filter (MaxCompute)-1
「text」フィールドから、英数字の必須数または比率を満たさないサンプルを削除します。SFT データセットのほとんどの文字は英字と数字です。このコンポーネントは、一部のダーティデータを削除できます。
LLM-N-Gram Repetition Filter (MaxCompute)-1
「text」フィールドの文字レベルの N-gram 繰り返し率に基づいてサンプルをフィルタリングします。このコンポーネントは、サイズ N のスライドウィンドウを使用して、テキストから N 文字セグメントのシーケンスを作成します。各セグメントはグラムと呼ばれます。コンポーネントはすべてのグラムの出現回数をカウントします。最後に、
複数回出現するグラムの合計出現頻度 / すべてのグラムの合計出現頻度の比率を計算し、この比率を使用してサンプルをフィルタリングします。LLM-Sensitive Word Filter (MaxCompute)-1
システムのプリセット禁止用語ファイルを使用して、「text」フィールド内の禁止用語を含むサンプルをフィルタリングします。
LLM-Length Filter (MaxCompute)-1
「text」フィールドの長さと最大行長に基づいてサンプルをフィルタリングします。最大行長は、サンプルを改行文字 (
\n) で分割することによって決定されます。LLM-MinHash Deduplicator (MaxCompute)-1
MinHash アルゴリズムに基づいて類似のサンプルを削除します。
パイプラインを実行します。
実行が完了したら、[Write To Table-1] コンポーネントを右クリックし、[View Data] > [Outputs] を選択して、処理されたサンプルを表示します。

リファレンス
LLM アルゴリズムコンポーネントの詳細については、「LLM データ処理 (MaxCompute)」をご参照ください。