このトピックでは、Platform for AI (PAI) が提供する大規模言語モデル (LLM) データ処理コンポーネントを使用して、GitHub コードデータをクリーニングおよび処理する方法について説明します。このトピックでは、LLM データ処理コンポーネントを使用して、オープンソースプロジェクト RedPajama に格納されている少量の GitHub コードデータを処理します。
前提条件
ワークスペースが作成されていること。詳細については、「ワークスペースの作成」をご参照ください。
MaxCompute リソースがワークスペースに関連付けられていること。詳細については、「ワークスペースの管理」をご参照ください。
データセット
このトピックでは、オープンソースプロジェクト RedPajama の生の GitHub データから 5,000 件のサンプルデータレコードが抽出されます。
データ品質とモデルトレーニングの効果を向上させるために、「手順」で説明されている手順を実行して、データをクリーニングおよび処理できます。
手順
Machine Learning Designer ページに移動します。
PAI コンソールにログインします。
左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。[ワークスペース] ページで、管理するワークスペースの名前をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
パイプラインを作成します。
[ビジュアル化モデリング (Designer)] ページで、[プリセットテンプレート] タブをクリックします。
[プリセットテンプレート] タブで、[大規模言語モデル (LLM)] タブをクリックします。[大規模言語モデル (LLM)] タブの [LLM のためのデータ処理 (Github コード)] カードで、[作成] をクリックします。
[パイプラインの作成] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。パラメーターにはデフォルト値を使用できます。
[パイプラインデータパス (推奨)] パラメーターを Object Storage Service (OSS) バケットのパスに設定します。このパスは、パイプラインの実行時に生成されるデータを格納するために使用されます。
パイプラインリストで、作成したパイプラインをダブルクリックして開きます。
キャンバスでパイプラインのコンポーネントを表示します (次の図を参照)。システムはプリセットテンプレートに基づいてパイプラインを自動的に作成します。

コンポーネント
説明
LLM-Sensitive Content Mask-1
機密情報をマスクします。例:
メールアドレスを
[EMAIL]に置き換えます。電話番号を
[TELEPHONE]または[MOBILEPHONE]に置き換えます。ID カード番号を
IDNUMに置き換えます。
次の例は、処理後の content フィールドのデータを示しています。メールアドレスが
[EMAIL]に置き換えられています。処理前

処理後

LLM-Clean Special Content-1
content フィールドから URL を削除します。
次の例は、データ処理後の content フィールドのデータを示しています。URL が content フィールドから削除されています。
処理前

処理後

LLM-Text Normalizer-1
content フィールドのテキストを標準の Unicode フォーマットに正規化します。
次の例は、データ処理後の content フィールドのデータを示しています。関連するテキストが正規化されています。
LLM-Clean Copyright Information-1
content フィールドから著作権情報を削除します。
次の例は、データ処理後の content フィールドのデータを示しています。関連する著作権情報が content フィールドから削除されています。
処理前

処理後

LLM-Count Filter-1
content フィールドから、英数字の必須比率を満たさないサンプルデータを削除します。GitHub コードデータセットの文字のほとんどは英数字です。このコンポーネントを使用して、特定のダーティデータを削除できます。
次の例は、削除された特定のデータのリストを示しています。ほとんどのダーティデータが削除されています。

LLM-Length Filter-1
content フィールドの全長、平均長、および最大行長に基づいてサンプルデータをフィルターします。データの平均長と最大行長を測定する前に、改行 ("\n") を使用してサンプルデータを分割します。
次の例は、データセットから削除された特定のデータのリストを示しています。短すぎる、または長すぎるダーティデータが削除されます。

LLM-N-Gram Repetition Filter-1
content フィールドの文字レベルおよび単語レベルの N-Gram 繰り返し率に基づいてサンプルデータをフィルターします。
このコンポーネントは、サイズ N のスライドウィンドウを使用して、文字または単語セグメントのシーケンスを作成します。各セグメントはグラムと呼ばれます。コンポーネントはすべてのグラムの発生をカウントします。繰り返し率は、
すべてのグラムの総数に対して 1 回以上出現するグラムの総数として計算されます。この比率に基づいてサンプルがフィルターされます。説明単語レベルの統計では、繰り返し率を計算する前に、すべての単語が小文字に変換されます。
LLM-Length Filter-2
スペースに基づいてサンプルデータを単語のリストに分割し、リストの長さに応じてサンプルデータをフィルターします。サンプルデータは単語数に基づいてフィルターされます。
LLM-MinHash Deduplicator (MaxCompute)-1
類似したテキストを削除します。
キャンバスの上部にある
をクリックしてパイプラインを実行します。パイプラインが期待どおりに実行された後、[Write Table-1] ノードを右クリックし、 を選択します。
出力サンプルデータは、前の表で説明したすべての処理コンポーネントによってデータがフィルターおよび処理された後に取得されるサンプルデータです。
