Instructions to use pplboy/test with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use pplboy/test with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
|
Download README.md from pplboy/test: direct link, hf CLI and curl.
- Browser
- Download file 4.25 kB
-
https://huggingface.co/pplboy/test/resolve/main/README.md
- Command line
-
hf download hf://pplboy/test/README.md
-
curl -L -o README.md https://huggingface.co/pplboy/test/resolve/main/README.md
4.25 kB
| base_model: Qwen/Qwen2.5-0.5B-Instruct | |
| library_name: peft | |
| tags: | |
| - lora | |
| - qwen | |
| - customer-service | |
| - chinese | |
| - conversational | |
| license: mit | |
| language: | |
| - zh | |
| # Qwen2.5-0.5B-Instruct 客服微调模型 | |
| 这是一个基于 Qwen2.5-0.5B-Instruct 使用 LoRA 方法微调的客服对话模型。 | |
| ## 模型详情 | |
| - **基础模型**: [Qwen/Qwen2.5-0.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct) | |
| - **微调方法**: LoRA (Low-Rank Adaptation) | |
| - **参数量**: 基础模型 0.5B + LoRA 适配器 ~2MB | |
| - **语言**: 中文 | |
| - **用途**: 客服对话、智能问答 | |
| ## 使用方法 | |
| ### 安装依赖 | |
| ```bash | |
| pip install transformers peft torch | |
| ``` | |
| ### 加载和使用模型 | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from peft import PeftModel | |
| # 加载基础模型 | |
| base_model = AutoModelForCausalLM.from_pretrained( | |
| "Qwen/Qwen2.5-0.5B-Instruct", | |
| torch_dtype="auto", | |
| device_map="auto" | |
| ) | |
| # 加载 LoRA 适配器 | |
| model = PeftModel.from_pretrained( | |
| base_model, | |
| "pplboy/test" | |
| ) | |
| # 加载分词器 | |
| tokenizer = AutoTokenizer.from_pretrained("pplboy/test") | |
| # 使用模型 | |
| prompt = "你好,我想咨询一下产品" | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=100, | |
| temperature=0.7, | |
| top_p=0.9, | |
| do_sample=True | |
| ) | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| print(response) | |
| ``` | |
| ### 使用 Transformers Pipeline | |
| ```python | |
| from transformers import pipeline | |
| from peft import PeftModel, PeftConfig | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| # 加载模型 | |
| config = PeftConfig.from_pretrained("pplboy/test") | |
| base_model = AutoModelForCausalLM.from_pretrained( | |
| config.base_model_name_or_path, | |
| torch_dtype="auto", | |
| device_map="auto" | |
| ) | |
| model = PeftModel.from_pretrained(base_model, "pplboy/test") | |
| tokenizer = AutoTokenizer.from_pretrained("pplboy/test") | |
| # 创建 pipeline | |
| pipe = pipeline( | |
| "text-generation", | |
| model=model, | |
| tokenizer=tokenizer, | |
| device_map="auto" | |
| ) | |
| # 生成回复 | |
| result = pipe("你好,我想咨询一下产品", max_new_tokens=100) | |
| print(result[0]['generated_text']) | |
| ``` | |
| ## 模型信息 | |
| ### LoRA 配置 | |
| - **LoRA rank (r)**: 8 | |
| - **LoRA alpha**: 16 | |
| - **LoRA dropout**: 0.1 | |
| - **Target modules**: q_proj, v_proj | |
| ### 训练信息 | |
| - **训练框架**: PEFT 0.16.0 | |
| - **训练方法**: LoRA 微调 | |
| - **基础模型**: Qwen2.5-0.5B-Instruct | |
| ## 使用场景 | |
| - 智能客服系统 | |
| - 自动问答 | |
| - 对话机器人 | |
| - 客户支持 | |
| ## 限制和注意事项 | |
| 1. **需要基础模型**: 这是一个 LoRA 适配器,使用前需要先加载基础模型 `Qwen/Qwen2.5-0.5B-Instruct` | |
| 2. **模型大小**: 基础模型约 1GB,LoRA 适配器约 2MB | |
| 3. **内存要求**: 建议至少 4GB 内存(使用 GPU 可减少内存占用) | |
| 4. **语言支持**: 主要支持中文,英文能力有限 | |
| ## 示例 | |
| ```python | |
| # 完整示例 | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from peft import PeftModel | |
| # 加载 | |
| base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct") | |
| model = PeftModel.from_pretrained(base_model, "pplboy/test") | |
| tokenizer = AutoTokenizer.from_pretrained("pplboy/test") | |
| # 测试对话 | |
| conversations = [ | |
| "你好,我想咨询一下产品", | |
| "这个产品有什么特点?", | |
| "如何退货?", | |
| "客服工作时间是什么时候?" | |
| ] | |
| for prompt in conversations: | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| outputs = model.generate(**inputs, max_new_tokens=100, temperature=0.7) | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| print(f"Q: {prompt}") | |
| print(f"A: {response}\n") | |
| ``` | |
| ## 引用 | |
| 如果使用本模型,请引用: | |
| ```bibtex | |
| @misc{pplboy-test-2024, | |
| title={Qwen2.5-0.5B-Instruct 客服微调模型}, | |
| author={pplboy}, | |
| year={2024}, | |
| howpublished={\url{https://huggingface.co/pplboy/test}} | |
| } | |
| ``` | |
| ## 许可证 | |
| 本模型基于 Qwen2.5-0.5B-Instruct,遵循 MIT 许可证。 | |
| ## 相关链接 | |
| - [基础模型](https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct) | |
| - [PEFT 文档](https://huggingface.co/docs/peft) | |
| - [Transformers 文档](https://huggingface.co/docs/transformers) | |