项目介绍:Flow-Judge-v0.1-AWQ
项目背景
Flow-Judge-v0.1-AWQ是一个由Flow AI开发的小型语言模型,专为评估大型语言模型(LLM)系统的多个领域而设计。基于microsoft/Phi-3.5-mini-instruct模型,这一版本通过量化技术有效减少了系统的资源占用,同时仍保持高性能输出。
核心特点
自定义评估
Flow Judge的一个主要特点是允许用户根据自身需求自定义评估标准和评分系统。这种灵活性有助于实现高度定制化的评估方案,精确测量特定任务的性能。
- 多种评分尺度:支持三种评分机制,包括简单的通过/不通过、三档Likert评分(从负面到正面)、以及更精确的五档Likert评分(从强烈负面到强烈正面)。这种多样化的选择允许用户精细化捕捉文本质量或情感上的细微差别。
简单易懂的结果
Flow Judge提供结构化的评估输出,包括定性反馈和定量评分。
- 定性反馈:提供详细的评价反馈,解释其为某一输出部分打分的理由,并突出指出问题区域。
- 定量评分:根据评分标准返回相应的数值评分,无论是二进制评分还是三分或五分制评分系统。
技术细节
模型量化
Flow-Judge-v0.1-AWQ通过AWQ safetensors量化技术进行优化。以下是其量化配置:
quant_config = { "zero_point": True, "q_group_size": 128, "w_bit": 4, "version": "GEMM" }
model = AutoAWQForCausalLM.from_pretrained(merged_path, **{"low_cpu_mem_usage": True, "use_cache": False},
attn_implementation="flash_attention_2", torch_dtype="auto", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(lora_path, trust_remote_code=False)
model.quantize(tokenizer, quant_config=quant_config)
model.save_quantized(quant_path)
tokenizer.save_pretrained(quant_path)
使用环境
要运行Flow-Judge模型,建议硬件配置包括:
- 至少4 GB VRAM的现代显卡(例如NVIDIA RTX系列)
- 最少8 GB的系统内存
- 至少10GB的存储空间以保存模型文件和相关依赖项。
适用场景
Flow Judge适用于定制大型语言模型系统的评估任务,支持开发者和公司以更具成本效益和快速的方式评估模型。这在快速发展的AI领域中尤其有用,因其能够在评估中运用自定义的量表和指标。
训练过程
Flow Judge基于Phi-3.5-mini架构进行开发,并使用一些合成的训练数据集。这些数据集通过以下步骤构建:
- 人工策划的初始评分标准,作为基础。
- 合成生成多个领域的适用指标和评分标准。
- 生成多个输入(如用户查询和上下文信息)的训练实例。
- 使用双重评价策略确保数据集的质量和一致性。
在微调过程中,使用Axolotl预处理工具来保证输入数据的一致性,并采用RSLoRa进行微调。详细的微调过程可以在技术报告中查阅。
评估
Flow Judge已经在多种测试集中进行了评估,并展现出优于许多更大模型的性能。其在二元通过/不通过测试集上具有高精确度、召回率和F1分数,在Likert多档评估方法中也表现出良好的相关性。