|
Download README.md from TAI-Research/TFMF: direct link, hf CLI and curl.
- Browser
- Download file 3.32 kB
-
https://huggingface.co/TAI-Research/TFMF/resolve/main/README.md
- Command line
-
hf download hf://TAI-Research/TFMF/README.md
-
curl -L -o README.md https://huggingface.co/TAI-Research/TFMF/resolve/main/README.md
3.32 kB
| # TFMF LoRA 训练与 Web Search 代理 | |
| ## 1. LoRA 训练脚本 | |
| 训练脚本已改为可命令行参数模式,直接指定训练数据目录、输出目录和基座模型目录。 | |
| 示例用法: | |
| ```bash | |
| cd /data/coding | |
| python TFMF/train_lora_auto.py \ | |
| --data-dir ./TFMF/dataset \ | |
| --output-dir ./TFMF/lora_adapters/teacher_chinese_auto \ | |
| --model-path /data/coding/TFMF \ | |
| --epochs 3 \ | |
| --batch-size 8 \ | |
| --gradient-accumulation-steps 2 \ | |
| --learning-rate 2e-4 | |
| ``` | |
| 如果只想使用单个文件: | |
| ```bash | |
| python TFMF/train_lora_auto.py \ | |
| --data-path ./TFMF/dataset/语文教师_语文_高二_v1.jsonl \ | |
| --output-dir ./TFMF/lora_adapters/teacher_chinese_auto | |
| ``` | |
| 脚本会自动加载 `--data-dir` 目录下所有 `.jsonl` 文件,并按 `--validation-split` 比例切分训练/验证集。 | |
| 默认会保存最终适配器到: | |
| ```bash | |
| ./TFMF/lora_adapters/teacher_chinese_auto/final | |
| ``` | |
| ## 2. loss 打印说明 | |
| 当前 `train_lora_auto.py` 默认 `logging_steps=10`,也就是: | |
| - 每 10 个训练 step 打印一次训练 loss | |
| - 如果训练总步数不超过 10,则可能只打印一次训练 loss | |
| - 终端输出中的 `loss` 是训练过程中的中间 loss | |
| - `eval_loss` 是验证集 loss | |
| - `train_loss` 是训练结束后的整体平均 loss | |
| 如果需要更多频次的 loss 输出,可以在运行时手动指定更小的参数,例如: | |
| ```bash | |
| python TFMF/train_lora_auto.py \ | |
| --data-path ./TFMF/dataset/语文教师_语文_高二_v1.jsonl \ | |
| --output-dir ./TFMF/lora_adapters/teacher_chinese_auto \ | |
| --logging-steps 2 | |
| ``` | |
| ## 3. Web Search 评估脚本 | |
| 新增 `TFMF/eval_lora_auto.py`,用于加载基座模型和 LoRA 适配器,并通过提示词注入 + Tavily 联网进行评估。 | |
| 运行前先设置 API Key: | |
| ```bash | |
| export TAVILY_API_KEY="tvly-xxx" | |
| ``` | |
| 评估测试数据模式: | |
| ```bash | |
| cd /data/coding | |
| python TFMF/eval_lora_auto.py \ | |
| --model-path /data/coding/TFMF \ | |
| --adapter-path ./TFMF/lora_adapters/teacher_chinese_auto/final \ | |
| --tavily-api-key "$TAVILY_API_KEY" \ | |
| --data-path ./TFMF/dataset/语文教师_语文_高二_v1.jsonl \ | |
| --n-samples 3 | |
| ``` | |
| 交互模式: | |
| ```bash | |
| python TFMF/eval_lora_auto.py \ | |
| --model-path /data/coding/TFMF \ | |
| --adapter-path ./TFMF/lora_adapters/teacher_chinese_auto/final \ | |
| --tavily-api-key "$TAVILY_API_KEY" \ | |
| --interactive | |
| ``` | |
| ## 4. 目录结构建议 | |
| - 训练数据放在一个文件夹里,例如 `TFMF/dataset/` | |
| - LoRA 输出放到 `TFMF/lora_adapters/your_adapter_name/` | |
| - 评估脚本加载 `.../final` 下的 LoRA 适配器 | |
| ## 5. 客户端使用说明 | |
| 1. 使用 `_auto` 后缀的 `train_lora.py` 和 `eval_lora_auto.py` | |
| 2. 将训练数据放到一个文件夹,例如 `TFMF/dataset/`。 | |
| 3. 运行 `train_lora_auto.py`,指定 `--data-dir` 或 `--data-path`,并指定 `--output-dir`。 | |
| 4. 训练完成后,确认 `./TFMF/lora_adapters/teacher_chinese_auto/final` 已生成。 | |
| 5. 使用 `python TFMF/eval_lora_auto.py` 加载模型并进行联网评估。 | |
| 6. 如果需要实时提问,可加上 `--interactive` 进入交互模式。 | |
| 7. 未来不一定需要用tavily,作为演示我选择用免费1000次/月的tavily,未来需要改动的时候改 `eval_lora_auto.py` 里的api调用部分即可 | |
| 8. 项目可能做的不够完善,有问题联系我我来继续完善 | |