Hands-on LLMs 项目介绍
项目概述
Hands-on LLMs 是一个全面的课程项目,旨在帮助学员学习如何训练和部署实时金融顾问系统。该项目由 Paul Iusztin、Pau Labarta Bajo 和 Alexandru Razvant 共同开发,包含训练管道、流媒体实时功能管道和推理管道等多个模块。
项目模块结构
1. 训练管道
训练管道负责加载专有的问答数据集,并使用 QLoRA 对开源大语言模型(LLM)进行微调。该管道会将训练实验记录在 Comet ML 的实验追踪器上,并将推理结果存储在 Comet ML 的模型注册表中。训练完成后,将最佳模型上传至 Comet ML。此管道在 Beam 的无服务器 GPU 架构上进行部署。
2. 流媒体实时功能管道
此管道从 Alpaca 获取实时金融新闻,并使用 Bytewax 实时将新闻文本转化为嵌入向量,并将这些嵌入向量存储在 Qdrant 向量数据库中。整个流媒体管道使用 GitHub 的 CI/CD 流水线自动部署在 AWS 的 EC2 实例上。
3. 推理管道
推理管道利用 LangChain 构建,下载经过微调的模型,以用户提问为输入,从 Qdrant 向量数据库中查询相关金融新闻,并增加提问背景。之后调用微调后的 LLM 提供金融建议,最后将聊天记录保存在内存中,并记录在 Comet ML 的 LLMOps 监控功能中。该管道作为 RESTful API 在 Beam 的无服务器架构上进行部署,并通过 Gradio 提供演示界面。
项目数据集
项目中使用 GPT-3.5 生成金融问答数据集,以便对开源的 LLM 进行微调,使其在金融领域具备专长。这种通过大模型生成数据来培训较小模型的方法称为“蒸馏微调”。
外部服务配置
学习过程中需要配置一些外部服务以支持各个模块的实现。
- Alpaca: 提供金融新闻数据。
- Qdrant: 用于向量存储的无服务器数据库。
- Comet ML: 提供机器学习平台。
- Beam: 用于训练和推理管道的无服务器 GPU 计算。
- AWS: 用于功能管道的云计算平台。
安装与使用
每个模块都有其独立的依赖和脚本。在实际应用中,每个模块可能会有独立的代码仓库。在本项目的学习情况下,所有模块代码都集中在一起,学员可以根据各模块的 README 文档分别进行安装和使用。
课程学习
参与该项目的学习者可以通过查看视频教程、阅读相关文章和学习项目中的代码文档来深入学习。
课程费用
课程的 GitHub 代码和 YouTube 视频讲座完全免费提供。部分教学内容在 Medium 上发布,可能需要小额订阅费用。
提问与交流
在学习过程中若遇到问题,可以在项目的 GitHub 仓库中创建 issue,或通过 LinkedIn 联系参与项目的老师。
许可证
本课程项目开源,采用 MIT 许可协议发布。只要维持 LICENSE 并认同项目贡献者的工作,即可自由分叉并使用该项目。
贡献者与教师
项目的主要负责人包括 Pau Labarta Bajo、Alexandru Razvant 和 Paul Iusztin,他们分别在机器学习和 MLOps 领域具有丰富的经验,致力于将复杂的技术技巧传授给学员。
通过 Hands-on LLMs 项目,学习者将掌握从数据收集、模型训练到部署和实时应用的全流程知识。无论是在学术研究还是实务创新中,都将具备重要的应用价值。