Skip to main content
これはインタラクティブなノートブックです。ローカルで実行することも、以下のリンクを利用することもできます:
このノートブックでは、HuggingFace データセットを Weave Evaluation の入力ソースとして使用する方法を紹介します。最後には、HuggingFace データセット内の行をインデックスで参照し、各行をモデルが想定する形式に前処理して、スコア付けされた結果を Weave でトラッキングする評価パイプラインを構築できます。このパターンは、既存の HuggingFace データセットを、まず Weave ネイティブのデータセットに変換することなくモデル評価に使いたい場合に便利です。
このガイドでは、HuggingFace データセットを Weave の評価で使用するための回避策を紹介します。この方法は現時点でも利用できますが、外部データセット向けのよりシームレスなインテグレーションも現在開発中です。

セットアップとインポート

まず、Weave を初期化して W&B に接続し、Weave が Weave プロジェクト内で評価用の run とその結果をトラッキングするようにします。

HuggingFace データセットを読み込んで準備する

次に、HuggingFace データセットを読み込み、評価で反復処理するための軽量なインデックスを構築します。データセットの行を直接 Weave に渡すのではなく、インデックス参照のリストを渡し、前処理時に完全な行へ解決します。この方法により、評価を元の HuggingFace データセットにひも付けたまま、その参照を維持できます。
インデックスでは、各行が一意の ID を持つように、hf_id とあわせて hf_hub_name をエンコードしてください。Weave は、この一意のダイジェスト値を使用して、評価中に特定のデータセットエントリをトラッキングし、参照します。

処理関数と評価関数を定義する

インデックスの準備ができたら、評価パイプラインを構成する 3 つの関数を定義します。1 つは各インデックス参照を評価に使える Example に変換する関数、1 つはモデルの出力をスコアリングする関数、もう 1 つは評価対象のモデルを表す関数です。 処理パイプラインでは、次の関数を使用します。
  • preprocess_example: インデックス参照を、評価に必要な実際のデータに変換します。
  • hf_eval: モデルの出力をどのようにスコアリングするかを定義します。
  • function_to_evaluate: 実際に評価対象となる関数またはモデルです。

評価を作成して実行します

最後に、インデックス、scorer、前処理関数を Weave の Evaluation に組み込み、モデルに対して実行します。hf_index の各エントリに対して、Weave は次の手順を実行します。
  1. preprocess_example が HuggingFace データセットから対応するデータを取得します。
  2. Weave は前処理済みのデータを function_to_evaluate に渡します。
  3. hf_eval が出力をスコアリングします。
  4. Weave は結果をトラッキングします。
評価が完了すると、run と各行のスコアを Weave プロジェクトで確認できます。