🚀 FineWeb-Edu FastText分類器
このFastText分類器は、トレーニングデータfineweb-edu-llama3-annotationsに基づいて、ウェブページの教育的価値を判断するためのものです。
🚀 クイックスタート
このFastText分類器は、トレーニングデータfineweb-edu-llama3-annotationsを使用して、ウェブページの教育的価値を判断します。主な目的は以下の2つです。
- ⚡ スループットの最適化:CPUで毎秒2000以上のサンプルを分類できるため、事前学習中にリアルタイムで使用したり、CPUで大量のデータを処理することができます。
- 🧪 FastTextとTransformerベースのモデルの比較:この軽量で能力に限界のあるモデルは、元のモデルHuggingFaceFW/fineweb-edu-classifierとどのように比較されるでしょうか?
FastTextアプローチは、教育的価値の異なる定義に基づく独自開発の教育分類器に触発されています。詳細はkenhktsui/llm-data-textbook-quality-fasttext-classifier-v2を参照してください。
✨ 主な機能
- 高速な分類能力:CPUで毎秒2000以上のサンプルを分類できます。
- 軽量なモデル:限られた能力でありながら、Transformerベースのモデルとの比較が可能です。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコマンドを使用して、必要なライブラリをインストールしてください。
pip install fasttext huggingface_hub
💻 使用例
基本的な使用法
from typing import List
import re
from huggingface_hub import hf_hub_download
import fasttext
model_hf = fasttext.load_model(hf_hub_download("kenhktsui/fineweb-edu-fasttext-classifier", "model.bin"))
def replace_newlines(text: str) -> str:
return re.sub("\n+", " ", text)
def predict(text_list: List[str]) -> List[dict]:
text_list = [replace_newlines(text) for text in text_list]
pred = model_hf.predict(text_list)
return [{"label": int(l[0].lstrip("__label__")), "score": s[0]}
for l, s in zip(*pred)]
predict(["Hi"])
📚 ドキュメント
📊評価
最後の46867サンプルをテストデータとして使用していますが、これはHuggingFaceFW/fineweb-edu-classifierと正確に同じテストデータではありません。
分類レポート
precision recall f1-score support
0 0.72 0.44 0.55 5704
1 0.73 0.87 0.80 26595
2 0.52 0.49 0.50 10350
3 0.48 0.33 0.39 3397
4 0.69 0.03 0.06 819
5 0.00 0.00 0.00 2
accuracy 0.68 46867
macro avg 0.52 0.36 0.38 46867
weighted avg 0.67 0.68 0.66 46867
以下の表は、FastTextモデルとTransformerベースのモデルを比較しています。
ラベル0、1、2は元のモデルと比較可能です。ラベル3では性能の低下が顕著になり、ラベル4ではさらに拡大します。これはFastTextモデルの能力が限られているためです。したがって、この分類器はラベル0、1、2では適度に良好な性能を発揮し、ラベル3でも多少の性能低下で使用できます。
混同行列
[ 2537 3098 65 4 0 0]
[ 944 23037 2491 123 0 0]
y_true [ 26 4742 5048 533 1 0]
[ 4 434 1846 1105 8 0]
[ 0 38 213 544 24 0]
[ 0 0 0 0 2 0]
y_pred
このモデルの精度は68%で、教育的価値を過大評価するよりも過小評価する傾向があります。この保守的な特性は、大量のデータをフィルタリングするのに適しています。
予測 - 実際の評価 |
頻度 |
% |
0 |
31751 |
67.7% |
-1 |
8078 |
17.2% |
+1 |
6130 |
13.1% |
-2 |
673 |
1.4% |
+2 |
189 |
0.4% |
-3 |
42 |
0.1% |
+3 |
4 |
0.0% |
Spearmanの順位相関係数は、MiniPileのトレーニング分割で0.5881、テスト分割で0.5832です。これは、ウェブデータの100万以上の代表的なドキュメントにおいて、中程度の強い単調関係を示しています。
📄 ライセンス
このモデルはODC-BYライセンスの下で提供されています。