LLM データ処理コンポーネントを使用すると、データサンプルの編集、変換、フィルター、重複排除ができます。必要に応じてさまざまなコンポーネントを組み合わせて高品質のデータを選択し、要件を満たすテキストを生成できます。これにより、大規模言語モデル (LLM) のトレーニングに高品質のデータが提供されます。この Topic では、オープンソースの RedPajama Wikipedia データセットからの少量のデータを例として使用し、PAI の大規模モデルデータ処理コンポーネントを使用して Wikipedia データをクリーンアップおよび処理する方法を説明します。
データセットの説明
Machine Learning Designer の「LLM データ処理-Wikipedia (Web テキストデータ)」プリセットテンプレートは、オープンソースの RedPajama プロジェクトの生データから抽出された 5,000 サンプルのデータセットを使用します。
ワークフローの作成と実行
Machine Learning Designer ページに移動します。
PAI コンソールにログインします。
左上隅で、必要に応じてリージョンを選択します。
左側のナビゲーションウィンドウで、[ワークスペース管理] をクリックします。表示されたページで、使用するワークスペースの名前をクリックします。
左側のナビゲーションウィンドウで、[モデル開発とトレーニング] > [Machine Learning Designer] を選択します。
ワークフローを作成します。
[プリセットテンプレート] タブで、[ビジネスドメイン] > [大規模言語モデル] を選択します。[LLM データ処理-Wikipedia (Web テキストデータ)] テンプレートカードで、[作成] をクリックします。

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

次の表に、ワークフローの主要なアルゴリズムコンポーネントを示します。
LLM-禁止用語マスク (MaxCompute)-1
「text」フィールドの機密情報をマスクします。例:
メールアドレスを
[EMAIL]に置き換えます。電話番号を
[TELEPHONE]または[MOBILEPHONE]に置き換えます。ID カード番号を
IDNUMに置き換えます。
LLM-特殊コンテンツのクリーンアップ (MaxCompute)-1
「text」フィールドから URL を削除します。
LLM-テキスト正規化 (MaxCompute)-1
「text」フィールドのテキストを Unicode フォーマットに正規化し、繁体字中国語を簡体字中国語に変換します。
LLM-カウントフィルター (MaxCompute)-1
「text」フィールドから、英数字の必須数または比率を満たさないサンプルを削除します。Wikipedia データセットのほとんどの文字は英数字です。このコンポーネントは、一部のダーティデータを削除できます。
LLM-長さフィルター (MaxCompute)-1
「text」フィールドの平均行長に基づいてサンプルをフィルターします。行は改行文字
\nで分割されます。LLM-N-Gram 繰り返しフィルター (MaxCompute)-1
「text」フィールドの文字レベルの N-gram 繰り返し率に基づいてサンプルをフィルターします。テキストは、サイズ N 文字のスライドウィンドウを使用して処理され、N 文字セグメントのシーケンスを形成します。各セグメントはグラムと呼ばれます。コンポーネントは各グラムの出現回数をカウントします。繰り返し率は、
複数回出現するグラムの総数 / すべてのグラムの総数として計算されます。サンプルはこの率に基づいてフィルターされます。LLM-禁止キーワードフィルター (MaxCompute)-1
システムのプリセット禁止用語ファイルを使用して、「text」フィールド内の禁止用語を含むサンプルをフィルターします。
LLM-言語認識およびフィルター (MaxCompute)-1
「text」フィールドのテキストの信頼度レベルを計算し、設定された信頼度のしきい値に基づいてサンプルをフィルターします。
LLM-長さフィルター (MaxCompute)-2
「text」フィールドの最大行長に基づいてサンプルをフィルターします。行は改行文字
\nで分割されます。LLM-Perplexity フィルター (MaxCompute)-1
「text」フィールドのテキストの Perplexity を計算し、設定された Perplexity のしきい値に基づいてサンプルをフィルターします。
LLM-特殊文字比率フィルター (MaxCompute)-1
「text」フィールドから、特殊文字の必須比率を満たさないサンプルを削除します。
LLM-長さフィルター (MaxCompute)-3
「text」フィールドの長さに基づいてサンプルをフィルターします。
LLM-トークン化 (MaxCompute)-1
「text」フィールドのテキストをトークン化し、結果を新しい列に保存します。
LLM-長さフィルター (MaxCompute)-4
「text」フィールドのサンプルを、区切り文字としてスペース文字
" "を使用して単語のリストに分割します。次に、結果のリストの長さに基づいてサンプルをフィルターします。これは、単語数でフィルターすることを意味します。LLM-N-Gram 繰り返しフィルター (MaxCompute)-2
「text」フィールドの単語レベルの N-gram 繰り返し率に基づいてサンプルをフィルターします。繰り返し率を計算するために、すべての単語が最初に小文字に変換されます。テキストは、サイズ N ワードのスライドウィンドウを使用して処理され、N ワードセグメントのシーケンスを形成します。各セグメントはグラムと呼ばれます。コンポーネントは各グラムの出現回数をカウントします。繰り返し率は、
複数回出現するグラムの総数 / すべてのグラムの総数として計算されます。サンプルはこの率に基づいてフィルターされます。LLM-MinHash 重複排除 (MaxCompute)-1
MinHash アルゴリズムに基づいて類似したサンプルを削除します。
ワークフローを実行します。
実行が完了したら、[Write To Data Table-1] コンポーネントを右クリックし、[データの表示] > [出力] を選択して、先行するコンポーネントによって処理されたサンプルを表示します。

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