すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:LLM トレーニングのための GitHub コードデータのクリーンアップ

最終更新日:Mar 11, 2026

このトピックでは、GitHub 上のオープンソース RedPajama プロジェクトの小さなデータサンプルを使用し、PAI の大規模言語モデル (LLM) 向けデータ処理コンポーネントを使用して、GitHub コードデータをクリーンアップおよび処理する方法をデモンストレーションします。

前提条件

データセット

このデモンストレーションでは、RedPajama オープンソースプロジェクトの生の GitHub データから抽出された 5,000 個のデータサンプルを使用します。

データ処理ワークフロー」セクションの手順に従って、データをクリーンアップおよび処理できます。この処理により、データ品質とモデルトレーニングのパフォーマンスが向上します。

データ処理ワークフロー

  1. Machine Learning Designer ページに移動します。

    1. PAI コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。ワークスペースページで、管理するワークスペースの名前をクリックします。

    3. 左側のナビゲーションウィンドウで、モデルトレーニング > ビジュアルモデリング (Designer) を選択します。

  2. ワークフローを構築します。

    1. Machine Learning Designer ページで、[プリセットテンプレート] タブをクリックします。

    2. [LLM] タブの [LLM データ処理 - GitHub コード] セクションで、[作成] をクリックします。

    3. [ワークフローの作成]」ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。デフォルト値を使用できます。

      ワークフロー データ ストレージ パラメーターは、ワークフローの実行時に生成されるデータを格納するために使用される OSS バケットのパスを指定します。

    4. ワークフローリストで、対象のワークフローをダブルクリックして開きます。

    5. システムは、次の図に示すように、プリセットテンプレートに基づいてワークフローを自動的に構築します。image

      コンポーネント

      説明

      LLM-MaskSensitiveInfo-1

      機密情報をマスクします。例:

      • メールアドレスを [EMAIL] に置き換えます。

      • 電話番号を [TELEPHONE] または [MOBILEPHONE] に置き換えます。

      • IDカード番号を IDNUM に置き換えます。

      次の例は、処理後のコンテンツフィールドのデータを示しています。メールアドレスは [EMAIL] に置き換えられています。

      • 処理前image

      • 処理後:image

      LLM-RemoveSpecialContent-1

      コンテンツフィールドから URL を削除します。

      次の例は、処理後のコンテンツフィールドのデータを示しています。URL は削除されています。

      • 処理前image

      • 処理後image

      LLM-NormalizeText-1

      コンテンツフィールドのテキストに Unicode 正規化を適用します。

      次の例は、処理後のコンテンツフィールドのデータを示しています。テキストは正規化されています。

      LLM-RemoveCopyright-1

      コンテンツフィールドから著作権情報を削除します。

      次の例は、処理後のコンテンツフィールドのデータを示しています。著作権情報は削除されています。

      • 処理前image

      • 処理結果image

      LLM-CountFilter-1

      コンテンツフィールドから、指定された数字と文字の比率を満たさないサンプルを削除します。GitHub コードデータセットのほとんどの文字は英数字です。このコンポーネントは、一部のダーティデータを削除できます。

      次のリストは、削除されたデータの一部を示しています。大量のダーティデータが削除されています。

      image

      LLM-LengthFilter-1

      コンテンツフィールドの全長、平均行長、および最大行長に基づいてサンプルをフィルターします。平均行長と最大行長は、改行文字 ("\n") でサンプルを分割して計算されます。

      次のリストは、削除されたデータセットの一部を示しています。短すぎるまたは長すぎるダーティコードデータの多くが削除されます。image

      LLM-FilterByNGramRepetitionRatio-1

      コンテンツフィールドの文字レベルおよび単語レベルの N-gram 反復率に基づいてサンプルをフィルターします。

      このコンポーネントは、文字または単語レベルでサイズ N のスライドウィンドウを使用してテキストを処理します。これにより、グラムと呼ばれる N長のフラグメントのシーケンスが作成されます。このコンポーネントは、各グラムの発生回数をカウントします。反復率は (複数回出現するグラムの総数) / (すべてのグラムの総数) として計算されます。この比率に基づいてサンプルがフィルターされます。

      説明

      単語レベルの統計の場合、反復率が計算される前にすべての単語が小文字に変換されます。

      LLM-LengthFilter-2

      このコンポーネントは、スペースに基づいてサンプルを単語のリストに分割します。次に、結果のリストの長さにに基づいてサンプルをフィルターします。これにより、単語数でサンプルを効果的にフィルターします。

      LLM-DeduplicateByMinHash-1

      このコンポーネントは、類似するテキストを削除します。

  3. キャンバス上部の [実行] ボタン image をクリックしてワークフローを実行します。

  4. ワークフローが正常に実行された後、Write to Data Table-1 コンポーネントを右クリックし、ショートカットメニューから [データの表示] > [出力] を選択します。

    出力には、前のすべてのコンポーネントによってフィルターおよび処理されたデータサンプルが表示されます。image