これはインタラクティブなノートブックです。ローカルで実行するか、以下のリンクから利用できます。
Evaluation の入力ソースとして使用する方法を説明します。最後まで進めると、HuggingFace データセットの行をインデックスで参照し、各行をモデルが想定する形式に前処理したうえで、スコア付けされた結果を Weave でトラッキングする評価パイプラインが完成します。このパターンは、既存の HuggingFace データセットを Weave ネイティブのデータセットに変換することなく、そのままモデルの評価に使用したい場合に便利です。
このガイドでは、HuggingFace データセットを Weave の評価で使用するための回避策を紹介します。この方法は現時点でも問題なく動作しますが、外部データセットとのよりシームレスなインテグレーションも現在開発中です。
セットアップとインポート
まず、Weave を初期化して W&B に接続します。これにより、Weave が評価 run とその結果を Weave プロジェクトでトラッキングできるようになります。HuggingFace データセットを読み込んで準備する
次に、HuggingFace データセットを読み込み、評価で反復処理する軽量なインデックスを構築します。データセットの行を Weave に直接渡すのではなく、インデックス参照のリストを渡し、前処理の段階でそれぞれを完全な行に解決します。この方法により、評価を元の HuggingFace データセットに紐づけたまま、そのデータセットへの参照を保持できます。各行に一意の ID を持たせるため、インデックスには
hf_id とあわせて hf_hub_name をエンコードしてください。Weave はこの一意のダイジェスト値を使用して、評価中に特定のデータセットエントリをトラッキングおよび参照します。処理関数と評価関数を定義する
インデックスの準備ができたら、評価パイプラインを構成する 3 つの関数を定義します。各インデックス参照を使用可能なサンプルに変換する関数、モデルの出力をスコアリングする関数、そして評価対象のモデルを表す関数です。 処理パイプラインでは、次の関数を使用します。preprocess_example: インデックス参照を、評価に必要な実際のデータに変換します。hf_eval: モデル出力のスコアリング方法を定義します。function_to_evaluate: 評価対象となる実際の関数またはモデルです。
評価を作成して実行する
最後に、インデックス、Scorer、前処理関数を Weave のEvaluation に組み込み、モデルに対して実行します。hf_index の各エントリに対して、Weave は次の処理を行います。
preprocess_exampleが HuggingFace データセットから対応するデータを取得します。- Weave が前処理済みのデータを
function_to_evaluateに渡します。 hf_evalが出力をスコアリングします。- Weave が結果をトラッキングします。