hands-on-llms 是一个开源课程,旨在通过构建一个实时金融顾问 LLM 系统,教授 LLM、LLMOps 和向量数据库的相关知识。课程提供源代码、视频讲座和阅读材料,完全免费(代码和视频),Medium 文章需付费。
用途
本课程适合希望学习如何设计、训练和部署生产级 LLM 系统的开发者。通过三管道架构,学习者将掌握从数据摄取、模型微调到推理服务的完整流程。
主要能力
课程涵盖以下核心组件:
训练管道
- 加载专有问答数据集
- 使用 QLoRA 微调开源 LLM
- 在 Comet ML 的实验跟踪器和 LLMOps 仪表板上记录训练实验和推理结果
- 将最佳模型存储在 Comet ML 的模型注册表中
- 使用 Beam 作为无服务器 GPU 基础设施部署训练管道
- 位于 modules/training_pipeline 目录
- 显存要求:10 GiB(必须支持 CUDA 的 Nvidia GPU)
实时特征管道
- 从 Alpaca 摄取金融新闻
- 使用 Bytewax 实时清洗和转换新闻文档为嵌入
- 将嵌入存储到 Qdrant 向量数据库
- 通过 GitHub Actions 构建的 CI/CD 管道自动部署到 AWS EC2 机器
- 位于 modules/streaming_pipeline 目录
推理管道
- 使用 LangChain 创建链:
- 从 Comet 模型注册表下载微调模型
- 接收用户问题作为输入
- 查询 Qdrant 向量数据库,并用相关金融新闻增强提示
- 使用初始查询、向量数据库上下文和聊天历史调用微调 LLM 获取金融建议
- 将聊天历史持久化到内存
- 将提示和答案记录到 Comet ML 的 LLMOps 监控功能
- 使用 Beam 作为无服务器 GPU 基础设施部署为 RESTful API,并包装在 Gradio UI 中用于演示
- 位于 modules/financial_bot 目录
- 显存要求:8 GiB(必须支持 CUDA 的 Nvidia GPU)
金融问答数据集
使用 GPT-3.5 生成金融问答数据集,用于微调开源 LLM,使其专门使用金融术语和回答金融问题。这种使用大 LLM 生成数据集训练小 LLM 的方法称为蒸馏微调。
使用方式
- 设置外部服务:
- Alpaca:创建免费账户并生成 API 密钥(1 个数据连接免费)
- Qdrant:创建免费账户并生成 API 密钥(使用免费套餐)
- Comet ML:创建免费账户并生成 API 密钥和项目(使用免费套餐)
- Beam:创建免费账户,安装 CLI 并配置凭证(约 10 小时免费计算时间,之后按使用付费;如果有 >8 GB 显存的 Nvidia GPU,可跳过)
- AWS:创建账户并生成凭证,安装 AWS CLI v2.11.22 并配置(按使用付费,仅部署 t2.small EC2 VM,约 $0.023/小时;如果不想部署特征管道,可跳过)
- 克隆仓库并按照每个模块的 README 安装和使用:
- q_and_a_dataset_generator
- training_pipeline
- streaming_pipeline
- inference_pipeline
- 参考视频讲座和文章进行学习。
适用场景
- 学习 LLM 微调和部署
- 理解 LLMOps 实践
- 构建 RAG 应用
- 实时数据处理和向量数据库集成
- 金融领域 LLM 应用开发
限制
- 训练管道需要 10 GiB 显存,推理管道需要 8 GiB 显存(必须支持 CUDA 的 Nvidia GPU),但可通过 Beam 无服务器基础设施绕过
- 外部服务有免费额度限制,超出后需付费
- Medium 文章需要付费订阅($5/月)
- 课程已归档,推荐查看新的 LLM Twin 开源课程
- 代码和视频免费,但 Medium 文章需付费
许可
课程是 MIT 许可下的开源项目,可以克隆或分叉用于任何目的,只要分发许可证并承认工作。