🚀 ハロウィン検出用PEFTアダプターモデル
このリポジトリには、ハロウィン評価用のPEFTアダプターモデルが含まれています。このモデルは、言語モデルの出力におけるハロウィン検出に特化しており、高い性能を発揮します。
🚀 クイックスタート
本モデルを使用することで、言語モデルの出力におけるハロウィンを高精度に検出することができます。以下に、モデルの性能と使用方法を紹介します。
✨ 主な機能
ハロウィン検出メトリクス
本モデルは、言語モデルの出力におけるハロウィンを検出する二値分類タスクで、以下の性能を達成しています。
precision recall f1-score support
0 0.85 0.71 0.77 100
1 0.75 0.87 0.81 100
accuracy 0.79 200
macro avg 0.80 0.79 0.79 200
weighted avg 0.80 0.79 0.79 200
他のモデルとの比較
本モデルのハロウィン検出ベンチマークでの性能を、他の最先端の言語モデルと比較しました。
モデル名 |
精度 |
再現率 |
F1スコア |
本マージモデル |
0.75 |
0.87 |
0.81 |
GPT-4 |
0.93 |
0.72 |
0.82 |
GPT-4 Turbo |
0.97 |
0.70 |
0.81 |
Gemini Pro |
0.89 |
0.53 |
0.67 |
GPT-3.5 |
0.89 |
0.65 |
0.75 |
GPT-3.5-turbo-instruct |
0.89 |
0.80 |
0.84 |
Palm 2 (Text Bison) |
1.00 |
0.44 |
0.61 |
Claude V2 |
0.80 |
0.95 |
0.87 |
表に示すように、本マージモデルはF1スコア0.81で、他のいくつかの最先端の言語モデルを上回っています。
📦 インストール
本モデルを使用するには、以下のフレームワークバージョンが必要です。
- PEFT 0.11.1
- Transformers 4.41.2
- Pytorch 2.3.0+cu121
- Datasets 2.19.2
- Tokenizers 0.19.1
💻 使用例
基本的な使用法
最良の結果を得るために、以下のプロンプト戦略から始めることをおすすめします(必要に応じて調整してください)。
def format_input(reference, query, response):
prompt = f"""Your job is to evaluate whether a machine learning model has hallucinated or not.
A hallucination occurs when the response is coherent but factually incorrect or nonsensical
outputs that are not grounded in the provided context.
You are given the following information:
####INFO####
[Knowledge]: {reference}
[User Input]: {query}
[Model Response]: {response}
####END INFO####
Based on the information provided is the model output a hallucination? Respond with only "yes" or "no"
"""
return input
text = format_input(query='Based on the follwoing <context>Walrus are the largest mammal</context> answer the question <query> What is the best PC?</query>', response='The best PC is the mac')
messages = [
{"role": "user", "content": text}
]
pipe = pipeline(
"text-generation",
model=base_model,
model_kwargs={"attn_implementation": attn_implementation, "torch_dtype": torch.float16},
tokenizer=tokenizer,
)
generation_args = {
"max_new_tokens": 2,
"return_full_text": False,
"temperature": 0.01,
"do_sample": True,
}
output = pipe(messages, **generation_args)
print(f'Hallucination: {output[0]["generated_text"].strip().lower()}')
📚 ドキュメント
トレーニングデータ
本モデルのトレーニングには、以下のデータセットが使用されています。
@misc{HaluEval,
author = {Junyi Li and Xiaoxue Cheng and Wayne Xin Zhao and Jian-Yun Nie and Ji-Rong Wen },
title = {HaluEval: A Large-Scale Hallucination Evaluation Benchmark for Large Language Models},
year = {2023},
journal={arXiv preprint arXiv:2305.11747},
url={https://arxiv.org/abs/2305.11747}
}
トレーニングハイパーパラメータ
トレーニング中に使用されたハイパーパラメータは以下の通りです。
- learning_rate: 0.0001
- train_batch_size: 2
- eval_batch_size: 8
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 8
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 10
- training_steps: 150
📄 ライセンス
本リポジトリはMITライセンスの下で公開されています。