Machine Learning Designer of Platform for AI (PAI) は、データの編集、変換、フィルタリング、重複排除に役立つさまざまなデータ処理コンポーネントを提供しています。 さまざまなコンポーネントを組み合わせて、高品質のデータをフィルタリングし、要件を満たすテキストサンプルを生成できます。 処理されたデータを使用して、ラージランゲージモデル (LLM) をトレーニングできます。 このトピックでは、PAIのデータ処理コンポーネントを使用して、監視された微調整 (SFT) データをクリーニングおよび処理する方法について説明します。 次の例では、オープンソースのAlpaca-CoTプロジェクトから取得した少量のデータを使用します。
データセット
Machine Learning Designerは、SFTデータを処理するためのプリセットテンプレートを提供します。 テンプレートは、オープンソースのAlpaca-CoTプロジェクトから抽出された5,000のサンプルデータレコードを使用します。
パイプラインの作成と実行
視覚化モデリング (デザイナー) ページに移動します。
PAIコンソールにログインします。
左上隅で、ビジネス要件に基づいてリージョンを選択します。
左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、使用するワークスペースの名前をクリックします。
ワークスペースで、左側のナビゲーションウィンドウで、モデルトレーニング > 視覚化モデリング (デザイナー) を選択します。
パイプラインを作成します。
[Visualized Modeling (Designer)] ページで、[プリセットテンプレート] タブをクリックし、ドロップダウンリストから [ビジネスエリア] を選択し、[Large Language Model (LLM)] タブをクリックします。 LLMデータ処理-Alpaca-Cot (SFTデータ) テンプレートを見つけて、[作成] をクリックします。
パイプラインパラメーターを設定し、[OK] をクリックします。 デフォルト値のままでかまいません。
パイプラインリストで、作成したパイプラインをクリックし、[開く] をクリックします。
パイプラインを設定します。
パイプラインには、次の主要コンポーネントが含まれます。
LLM-MD5デデュプリケーター (MaxCompute)-1
テキストサンプルのハッシュ値を計算します。 複数のテキストサンプルが同じハッシュ値を持つ場合、1つのサンプルのみが保持されます。
LLM-カウントフィルター (MaxCompute)-1
必要な英数字の数または比率を満たさないテキストサンプルをテキストフィールドから削除します。 SFTデータセットの文字のほとんどは、文字と数字です。 このコンポーネントは、データセット内のデータをクリーンアップするのに役立ちます。
LLM-N-Gram反復フィルター (MaxCompute)-1
文字レベルのNグラムの繰り返し率に基づいて、テキストフィールドのテキストサンプルをフィルター処理します。 このコンポーネントは、N文字の連続シーケンスを生成するために、テキストを横切ってN文字ウィンドウを移動させる。 各シーケンスはNグラムと呼ばれる。 コンポーネントは、各Nグラムの発生をカウントし、次の式を使用して繰り返し率を計算します。
1回以上発生するNグラムの合計頻度 /すべてのNグラムの合計頻度
。LLMに敏感なキーワードフィルター (MaxCompute)-1
プリセット機密キーワードファイルで指定された機密キーワードを含むテキストフィールドのテキストサンプルをフィルター処理します。
LLM-長さフィルタ (MaxCompute)-1
最長行の長さに基づいてテキストサンプルをフィルター処理します。 テキストは改行 (
\n
) によって行に分割されます。 このコンポーネントは、最長行の長さを計算し、指定されたしきい値に基づいてテキストサンプルをフィルタリングします。LLM-ドキュメントデデュプリケーター (MaxCompute)-1
Jaccard類似性インデックスの指定されたしきい値とLevenshtein距離に基づいて、テキストサンプルの重複を解消します。
パイプラインを実行します。
パイプラインの実行後、[テーブル1の書き込み] コンポーネントを右クリックし、[データの表示] > [出力] を選択して、処理されたデータセットを表示します。
関連ドキュメント
LLMデータ処理コンポーネントの詳細については、「LLMデータ処理 (MaxCompute) 」をご参照ください。
PAIは、データ処理、モデルトレーニング、およびモデル推論のための一連のコンポーネントを提供します。 データ処理が完了したら、コンポーネントを使用して、LLM開発からアプリケーションまでのエンドツーエンドのプロセスを実装できます。 詳細については、「E2Eの開発と使用方法: データ処理 + モデルトレーニング + モデル推論」をご参照ください。