大規模言語モデル (LLM) のデータ処理アルゴリズムを使用すると、データサンプルを編集および変換し、低品質のサンプルをフィルター処理し、重複するサンプルを特定して削除できます。さまざまなアルゴリズムを組み合わせてデータをフィルター処理し、要件を満たすテキストを生成できます。このプロセスにより、後続の LLM トレーニングのための高品質なデータが提供されます。このトピックでは、オープンソースの RedPajama-Data プロジェクトの小規模なデータセットを例として使用し、PAI が提供する LLM データ処理コンポーネントを使用して GitHub コードデータをクリーンアップおよび処理する方法を説明します。
DLC コンポーネントは、分散 Ray フレームワークを使用した大規模なデータ処理とインテリジェントな集約をサポートしています。これにより、効率的なデータ処理とリソース利用が可能になり、不要なデータストレージ操作が削減されます。詳細については、「大規模モデルデータ処理コンポーネントのグループ化と集約」をご参照ください。
データセットの説明
Machine Learning Designer の「LLM のデータ処理 (GitHub コード) - DLC コンポーネント」プリセットテンプレートで使用されるデータセットは、オープンソースの RedPajama-Data プロジェクトの生データから抽出された 5,000 個のサンプルで構成されています。
ワークフローの作成と実行
Machine Learning Designer ページに移動します。
PAI コンソール にログオンします。
左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、[ワークスペース管理] を選択し、対象のワークスペースの名前をクリックします。
左側のナビゲーションウィンドウで、[モデル開発とトレーニング] > [Machine Learning Designer] を選択して Machine Learning Designer ページを開きます。
ワークフローを作成します。
[プリセットテンプレート] タブで、[ビジネスエリア] > [LLM] を選択します。[Data Processing For LLM (GitHub Code) - DLC Component] テンプレートカードで、[作成] をクリックします。

ワークフローのパラメーターを設定するか、デフォルト設定のままにして、[OK] をクリックします。
ワークフローリストで、作成したワークフローを選択し、[ワークフローに入る] をクリックします。
ワークフローの説明:

ワークフローの主要なアルゴリズムコンポーネントは次のとおりです。
LLM-機密コンテンツマスク (DLC)-1
「content」フィールドの機密情報をマスクします。例:
メールアドレスを
[EMAIL]に置き換えます。携帯電話番号を
[TELEPHONE]または[MOBILEPHONE]に置き換えます。ID カード番号を
IDNUMに置き換えます。
LLM-特殊コンテンツのクリーンアップ (DLC)-1
「content」フィールドから URL リンクを削除します。
LLM-テキスト正規化 (DLC)-1
「content」フィールドのテキストに対して Unicode 正規化を実行します。
LLM-著作権情報のクリーンアップ (DLC)-1
「content」フィールドから著作権情報を削除します。
LLM-カウントフィルター (DLC)-1
「content」フィールドから、指定された英数字の比率またはテキストトークンに対するアルファベット文字の比率を満たさないサンプルを削除します。GitHub コードデータセットのほとんどの文字は英字と数字です。このコンポーネントは、一部のダーティデータを削除できます。
LLM-長さフィルター (DLC)-1
content フィールドのテキストサンプルを、テキストの長さ、平均の長さ、および最大行長に基づいてフィルター処理します。平均および最大行長は、改行文字
\nで分割されたサンプルから計算されます。LLM-N-Gram 反復フィルター (DLC)-1
「content」フィールドのサンプルを、文字レベルおよび単語レベルの N-gram 繰り返し率に基づいてフィルター処理します。単語レベルの比率の場合、繰り返しを計算する前にすべての単語が小文字に変換されます。コンポーネントは、サイズ N のスライドウィンドウをテキストに適用して、長さ N のセグメントのシーケンスを作成します。各セグメントはグラムと呼ばれます。コンポーネントは、すべてのグラムの出現回数をカウントします。最後に、サンプルは繰り返し率に基づいてフィルター処理されます。繰り返し率は、
(複数回出現するグラムの総頻度) / (すべてのグラムの総頻度)として計算されます。LLM-長さフィルター (DLC)-2
「content」フィールドの長さに基づいてサンプルをフィルター処理します。
LLM-ドキュメント重複排除 (DLC)-1
window_size、num_blocks、および hamming_distance に設定された値に基づいて、類似したサンプルを削除します。
ワークフローを実行します。
ワークフローの実行が完了したら、[LLM-ドキュメント重複排除 (DLC)-1] コンポーネントを右クリックし、[データの表示] > [出力データ (OSS)] を選択して、前述のコンポーネントによって処理されたサンプルファイルを表示します。

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