Platform for AI (PAI) の Machine Learning Designer は、データの編集、変換、フィルタリング、重複排除に役立つさまざまなデータ処理コンポーネントを提供しています。さまざまなコンポーネントを組み合わせて、高品質のデータをフィルタリングし、要件を満たすテキストサンプルを生成できます。処理されたデータを使用して、大規模言語モデル (LLM) をトレーニングできます。このトピックでは、PAI のデータ処理コンポーネントを使用して、Wikipedia から取得したテキストデータをクレンジングおよび処理する方法について説明します。次の例では、オープンソースの RedPajama データセットから抽出された少量の Wikipedia データを使用します。
データセット
Machine Learning Designer は、Wikipedia テキストデータを処理するためのプリセットテンプレートを提供しています。このテンプレートは、オープンソースの RedPajama データセットから抽出された 5,000 件のサンプルデータレコードを使用します。
パイプラインの作成と実行
ビジュアルモデリング (デザイナー) ページに移動します。
PAI コンソール にログオンします。
左上隅で、ビジネス要件に基づいてリージョンを選択します。
左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。ワークスペースページで、使用するワークスペースの名前をクリックします。
ワークスペースの左側のナビゲーションウィンドウで、[モデルトレーニング] > [ビジュアルモデリング (デザイナー)] を選択します。
パイプラインを作成します。
ビジュアルモデリング (デザイナー) ページで、[プリセットテンプレート] タブをクリックし、ドロップダウンリストから [ビジネスエリア] を選択し、[大規模言語モデル (LLM)] タブをクリックします。[LLM データ処理 - Wikipedia (ウェブテキストデータ)] テンプレートを見つけて、[作成] をクリックします。
パイプラインパラメーターを設定し、[OK] をクリックします。デフォルト値を保持できます。
パイプラインリストで、作成したパイプラインをクリックし、[開く] をクリックします。
パイプラインを設定します。
パイプラインには、次の主要コンポーネントが含まれています。
LLM - 機密コンテンツマスク (MaxCompute) - 1
テキストフィールドの機密コンテンツをマスクします。例:
メールアドレスを
[EMAIL]
に置き換えます。電話番号を
[TELEPHONE]
または[MOBILEPHONE]
に置き換えます。ID カード番号を
IDNUM
に置き換えます。
LLM - 特殊コンテンツのクリーンアップ (MaxCompute) - 1
テキストフィールドから URL を削除します。
LLM - テキスト正規化 (MaxCompute) - 1
テキストフィールドのテキストサンプルを Unicode 形式に正規化し、中国語のテキストを繁体字から簡体字に変換します。
LLM - 件数フィルター (MaxCompute) - 1
テキストフィールドから、必要な英数字の数または比率を満たさないテキストサンプルを削除します。Wikipedia データセットのほとんどの文字は、文字と数字です。このコンポーネントは、データセット内のデータをクレンジングするのに役立ちます。
LLM - 長さフィルター (MaxCompute) - 1
テキストフィールドのテキストサンプルを、行の平均の長さに基づいてフィルタリングします。テキストは改行 (
\n
) によって行に分割されます。このコンポーネントは、行の平均の長さを計算し、指定されたしきい値に基づいてテキストサンプルをフィルタリングします。LLM - N-gram 反復フィルター (MaxCompute) - 1
テキストフィールドのテキストサンプルを、文字レベルの N-gram 反復率に基づいてフィルタリングします。このコンポーネントは、テキスト全体で N 文字のウィンドウを移動して、N 文字の連続シーケンスを生成します。各シーケンスは N-gram と呼ばれます。このコンポーネントは、各 N-gram の出現回数をカウントし、次の式を使用して反復率を計算します。
2 回以上出現する N-gram の合計頻度 / すべての N-gram の合計頻度
。LLM - 機密キーワードフィルター (MaxCompute) - 1
テキストフィールドのテキストサンプルのうち、プリセットの機密キーワード ファイルで指定された機密キーワードを含むものをフィルタリングします。
LLM - 言語認識とフィルター (MaxCompute) - 1
テキストの信頼度スコアを計算し、指定されたしきい値に基づいてテキストサンプルをフィルタリングします。
LLM - 長さフィルター (MaxCompute) - 2
テキストサンプルを、最長行の長さに基づいてフィルタリングします。テキストは改行 (
\n
) によって行に分割されます。このコンポーネントは、最長行の長さを計算し、指定されたしきい値に基づいてテキストサンプルをフィルタリングします。LLM - パープレキシティフィルター (MaxCompute) - 1
テキストのパープレキシティを計算し、指定されたパープレキシティしきい値に基づいてテキストサンプルをフィルタリングします。
LLM - 特殊文字比率フィルター (MaxCompute) - 1
テキストフィールドから、必要な特殊文字の比率を満たさないテキストサンプルを削除します。
LLM - 長さフィルター (MaxCompute) - 3
テキストの長さに基づいてテキストサンプルをフィルタリングします。
LLM - トークン化 (MaxCompute) - 1
テキストをトークンに分割し、結果を新しい列に保存します。
LLM - 長さフィルター (MaxCompute) - 4
スペース (
" "
) を区切り文字として使用してテキストを単語のリストに分割し、単語の数に基づいてテキストサンプルをフィルタリングします。LLM - N-gram 反復フィルター (MaxCompute) - 2
テキストフィールドのテキストサンプルを、単語レベルの N-gram 反復率に基づいてフィルタリングします。このコンポーネントは、すべての単語を小文字に変換し、テキスト全体で N 単語のウィンドウを移動して、N 単語の連続シーケンスを生成します。各シーケンスは N-gram と呼ばれます。このコンポーネントは、各 N-gram の出現回数をカウントし、次の式を使用して反復率を計算します。
2 回以上出現する N-gram の合計頻度 / すべての N-gram の合計頻度
。LLM - MinHash 重複除去 (MaxCompute) - 1
MinHash アルゴリズムに基づいてテキストサンプルの重複を削除します。
パイプラインを実行します。
パイプラインを実行した後、[テーブルの書き込み - 1] コンポーネントを右クリックし、[データの表示] > [出力] を選択して、処理されたデータセットを表示します。
参照
LLM データ処理コンポーネントの詳細については、「LLM データ処理 (MaxCompute)」をご参照ください。
PAI は、データ処理、モデルトレーニング、モデル推論のための一連のコンポーネントを提供しています。データ処理が完了したら、これらのコンポーネントを使用して、LLM の開発からアプリケーションまでのエンドツーエンドのプロセスを実装できます。詳細については、「LLM の E2E 開発と使用: データ処理 + モデルトレーニング + モデル推論」をご参照ください。