大規模言語モデル (LLM) のデータ処理アルゴリズムを使用すると、データサンプルの編集、変換、フィルター、重複排除ができます。これらのアルゴリズムを組み合わせることで、後続の LLM トレーニング用の高品質なデータを生成できます。この記事では、オープンソースの Alpaca-CoT プロジェクトの小規模なデータセットを使用して、PAI の大規模言語モデルデータ処理コンポーネントを使用して SFT データをクリーンアップおよび処理する方法を説明します。DLC コンポーネントは、分散 Ray フレームワークを使用して大規模なデータ処理を行い、インテリジェントな集約機能を備えているため、効率の向上、リソース使用の最適化、不要なストレージ操作の削減が可能です。詳細な手順については、「集約による大規模モデルデータ処理コンポーネントのグループ化」をご参照ください。
データセット
Designer の「LLM データ処理-Alpaca-CoT (SFT データ)-DLC コンポーネント」プリセットテンプレートは、オープンソースの Alpaca-CoT プロジェクトから 5,000 サンプルのデータセットを使用します。
ワークフローの作成と実行
Designer ページに移動します。
PAI コンソールにログインします。
左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、[Workspaces] をクリックし、ご利用のワークスペースの名前をクリックします。
左側のナビゲーションウィンドウで、Model Training > Visualized Modeling (Designer) を選択します。
ワークフローを作成します。
Preset Templates タブで [ビジネスエリア] > [LLM] を選択し、[LLM データ処理-Alpaca-CoT (SFT データ)-DLC コンポーネント] テンプレート カードの Create をクリックします。

ワークフローのパラメーターを設定 (またはデフォルト設定を維持) して、Confirm をクリックします。
ワークフローリストで、作成したワークフローを選択し、Open をクリックします。
ワークフローの説明:

ワークフローの主要なアルゴリズムコンポーネント:
LLM-MD5 Deduplication (DLC)-1
「text」フィールドのハッシュ値を計算し、それを使用して重複したテキストを削除し、一意のハッシュ値ごとに 1 つのインスタンスのみを保持します。
LLM-Count Filter (DLC)-1
「text」フィールドで、設定された数字と文字の比率を満たさないサンプルを削除します。SFT データでは、ほとんどの文字が数字と文字であるため、このコンポーネントは一部のダーティデータの削除に役立ちます。
LLM-N-Gram Repetition Ratio Filter (DLC)-1
このコンポーネントは、テキスト上でサイズ N のウィンドウをスライドさせ、グラムと呼ばれる長さ N のセグメントのシーケンスを作成します。次に、すべてのグラムの出現回数をカウントし、
(複数回出現するグラムの総出現回数) / (すべてのグラムの総出現回数)の比率に基づいてサンプルをフィルターします。LLM-Sensitive Word Filter (DLC)-1
「text」フィールドで、プリセットされた禁止用語リストに含まれる単語を含むサンプルをフィルターします。
LLM-Length Filter (DLC)-1
「text」フィールドの長さと最大行長に基づいてサンプルをフィルターします。最大行長は、サンプル内で最も長い行の長さであり、行は改行文字
\nで区切られます。LLM-SimHash Similarity Deduplication (DLC)-1
設定された `window_size`、`num_blocks`、および `hamming_distance` の値に基づいて、類似したサンプルを削除します。
ワークフローを実行します。
ワークフローが完了したら、[LLM-SimHash Similarity Deduplication (DLC)-1] コンポーネントを右クリックし、View Data > [出力データ (OSS)] を選択して処理済みのサンプルファイルを表示します。

関連ドキュメント
LLM アルゴリズムコンポーネントの詳細な説明については、「LLM データ処理 (DLC)」をご参照ください。