
实际上用AI打造程序员并不是那么新鲜的事情,其实从去年开始就有很多这方面的有趣的尝试,比如ChatDev项目,在github上已经斩获2万颗星,也是在AI程序员的打造上大胆的一项尝试。

在一个软件项目当中,我们可以定义CEO、CTO、开发工程师、测试人员、产品经理等各类的角色,让这些角色根据用户提供的需求自行完成一个软件开发项目。这些角色之前可以对话、可以开会、讨论问题并达成结论。源码地址:https://github.com/OpenBMB/ChatDev
在ChatDev之前,还有一个项目特别火,而且ChatDev也是借鉴了这个项目,叫作斯坦福小镇,用AI技术构造很多角色,让这些角色在虚拟世界里生活,它们之间可以无缝交流,组织活动、一起解决问题。源码地址:https://github.com/joonspk-research/generative_agents
这些项目归根揭底来自Agent技术,在Agent框架下大模型可以起到控制流程的作用,它可以带领每个领域的专家协作完成一个任务。用Agent开发AI程序员仅仅是Agent领域的一个应用场景,你也可以基于Agent来写一个完整的小说、生成完整的课程、组织一场社群活动等,这里有太多的想象空间。
我们一直认为2024年是Agent领域爆发的一年,很多公司也会开始下场做Agent的开发项目,那作为开发工程师或者算法工程师,在24年从事一项Agent项目必定是职业生涯最好的选择,能够踏上这一班车意味着比别人领先一大步。
详细大纲
为什么要学习大模型开发? 对学员期望与课程目标 课程安排概览 学习评估 需要准备的工具和环境
大模型发展史 从大模型预训练、微调到应用 GPT结构剖析 大模型家族、类别、应用场景 RAG,Agent与小模型
通过API调用大模型 单论对话与多轮对话调用 开源模型与闭源模型调用 ChatGLM,Baichuan,Yi-34B调用 GPT,LLaMA模型调用 模型的部署、容器化
提示词的常见结构 提示词的模版化 Zero-shot与Few-shot In-context learning Chain of thought prompting
Tree of thought prompting Graph of thought promting Self-consistency Active-prompt Prompt chaining
为什么需要RAG? RAG的经典应用场景 RAG的经典结构与模块 向量数据库 检索与生成
产品介绍与核心功能 技术方案与架构设计 文档读取和解析 文档的切分和文档向量化 query搜索与文档排序 提示模版与大模型API接入 模型部署与Web应用
根据每个Sentence切分 根据固定字符数切分 根据固定sentence数切分 根据递归字符来切分 根据语义相似度来切分
常用向量数据库以及类别 向量数据库与索引算法 到排表与搜索优化 KNN与近似KNN Product Quantization
HSNW算法在索引中的重要性 NSW算法解读 NSW图中的搜索问题 Skip List讲解 具有层次结构的NSW
推荐系统原理、应用场景以及架构剖析 传统推荐算法与基于LLM推荐算法 新闻数据的准备与整理 推荐中的召回与精排 精排与Prompt构建 模型部署与测试
为什么需要LangChain? 通过一个小项目快速理解各个模块 LangChain调用模型 PromptTemplate的应用 输出格式设定 Pydantic Object设计
什么是 Function Calling 自定义输出结构 基于OpenAI调用Function Calling Function Calling的稳定性 LangChain与Function Calling
Document Loaders Text Splitters Text Embedding模型 常用的向量数据库调用 常用的Retriever
为什么需要Chain? LLMChain, Sequential Chain Transform Chain Router Chain 自定义Chain
经典RAG的几个问题 Self-querying retrieval MultiQuery retriever Step-back prompting 基于历史对话重新生成Query 其他Query优化相关策略
Sentence window retrieval Parent-child chunks retrieval Fusion Retrieval Ensemble Retrieval RPF算法
为什么需要评估RAG RAG中的评估思路 评估指标设计 套用在项目中进行评估 RAGAS评估框架的缺点
需求理解和系统设计 经典RAG架构下的问题 检索器优化 生成器优化 系统部署与测试
模型私有化部署的必要性 中英开源模型概览与分类 ChatGLM, Baichuan,Yi等中文开源模型 LLaMA,Mistral系列英文开源模型 微调所需要的工具和算力
判断是否需要模型微调 模型微调对模型的影响和价值 选择合适的基座模型 数据集的准备 微调训练框架的选择
GPU与CPU GPU的计算特性 微调所需要的算力计算公式 常见GPU卡介绍与比较 搭建GPU算力环境
全量微调与少量参数微调 理解LoRA训练以及参数 PEFT库的使用 LoRA训练硬件资源评估 认识QLoRA训练
理解ChatGLM模型家族以及特性 导入模型以及tokenizer 设计模型参数以及LoRA参数 训练以及部署微调模型 测试微调模型
什么是Agent 什么是Plan, Action, Tools 经典的Agent开源项目介绍 编写简单的Agent程序 Agent目前面临的挑战与机遇
LangChain所支持的Agent 什么需要自定义Agent @tool decorator的使用 编写自定义Agent工具 编写完整的Agent小项目
回顾什么是CoT CoT和Action的结合 剖析ReAct框架的Prompt结构 从零实现ReAct(from Scratch) ReAct框架的优缺点分析
开源Agent项目以及分类 AutoGPT项目讲解 MetaGPT项目讲解 其他开源项目 Agent技术目前存在的问题
Agent的planning Agent的reasoning Agent的knowledge Agent的memory Agent的泛化能力
需求设计和系统设计 工具的设计 AI面试中的深度询问方案设计 提示工程设计 Memory的设计 智能体开发与部署
AI旅游规划师 AI产品销售 AI房租推荐 AI图像处理 AI网站开发
多个Agent的协同 Agent的group行为 Agent Society Agent的Personality 斯坦福小镇案例
智能设备特性以及资源限制 模型优化的必要性 常见的模型压缩技术 轻量级模型架构介绍 开源小模型
多大的模型适合 部署流程概述 模型转换工具 模型部署实战 性能测试与优化
边缘计算的概念和重要性 模型所要满足的要求与性能上的平衡 模型在边缘设备上的应用案例 未来“小”模型发展趋势 24年“小”模型机会
什么是多模态模型 多模态的应用场景 DALLE-3与Midjourney Stable Diffusion与ControlNet 语音合成技术概述 主流TTS技术剖析
多模态大模型最新进展 Sora对多模态大模型会产生什么影响 案例:MiniGPT-4与多模态问答 案例:BLIP与文本描述生成 案例:Video-LLaVA与多模态图像视频识别
大模型技术局限性 大模型的隐私性和准确性 大模型和AGI未来 GPT商城的机会 多模态的机会 对于开发工程师未来的启示
课程介绍与目标 学习安排与课程结构 学员参与要求 课程项目与技术概览 推荐工具和开源资源
大模型的概念与历史发展 关键技术和算法基础 数据准备与预处理 预训练、指令微调、对齐 模型评估以及能力分析
微调与全量训练的区别 微调在不同领域的应用案例 选择微调任务和数据 微调的效果评估方法 微调项目的规划与管理
Transformer模型的基础架构 Self-Attention机制的工作原理 Transformer在NLP任务中的应用 Transformer模型的变种与发展 使用Transformer模型的实用技巧 Encoder和Decoder介绍
常见的中英开源大模型介绍 模型选择标准与评估 开源模型的获取与使用 社区支持与资源分享 开源大模型发展方向
Huggingface介绍 本地下载开源模型 理解HF相应的库以及导入大模型 模型封装以及部署 性能优化与成本控制
指令微调的概念与应用价值 指令集设计与实现 微调流程与实践技巧 性能评估与优化策略 指令微调的挑战与解决方案
LoRA微调的方法 实施LoRA微调的步骤 LoRA微调在实际项目中的应用 性能评估与调优技巧 LoRA微调的局限与未来展望
Alpaca项目介绍 指令数据的理解 LoRA微调的实施与调优 项目评估与效果分析 经验总结与案例分享
为什么需要大模型压缩 模型压缩的方法与技术 压缩对模型性能的影响 压缩模型的常见方法 模型服务化的最佳实践
QLoRA微调技术介绍 微调策略与实施过程 应用QLoRA的案例 QLoRA微调的性能调优 面临的问题与解决方法
设计QLoRA微调方案 准备数据与环境配置 开源模型选择 执行微调与性能监控 项目经验分享与讨论
DeepSpeed框架概述 配置与环境搭建 在大模型训练中使用DeepSpeed 分布式训练介绍 框架背后技术实现 DeepSpeed参数理解 实战案例与经验分享
Megatron-LM框架介绍 框架安装与配置指南 应用Megatron-LM进行模型训练 框架背后技术实现 Megatron-LM参数理解 实战案例与经验分享
为什么需要Flash Attention GPU计算背景知识 Flash Attention技术背后 在大模型中应用Flash Attention 实际部署与应用案例
微调模型性能测试的重要性 Benchmark工具与方法介绍 执行Benchmark的步骤与技巧 结果分析与解读 Benchmark设计与业务场景
结合QLoRA和Flash Attention的策略 微调与部署的一体化流程 项目实施的关键步骤 成果评估与性能优化 经验分享与问题解决
开源模型的概述 常见的开源模型分类 选择开源模型的考量因素 开源模型的获取和使用指南 维护和贡献开源模型的最佳实践
ChatGLM模型家族介绍 ChatGLM1到ChatGLM3迭代 ChatGLM的私有化部署 ChatGLM的特色 微调ChatGLM模型的步骤和技巧 微调案例分享
理解需求以及技术方案设计 医疗指令数据的搜集 医疗Benchmark的获取和整理 微调ChatGLM+LoRA模型 微调案例分享
Qwen和YI模型家族概述 两个模型家族的迭代 Qwen和YI大模型的私有化部署 两个大模型家族的特色 微调Qwen和YI模型的实践指南 微调案例分享
LLaMA模型家族特点 LLaMA大模型的迭代和架构变化 LLaMA大模型的私有化部署 微调LLaMA模型的方法和建议 LLaMA模型微调的案例分析 微调案例分享
Mistral和Phi模型家族简介 Mistral和Phi在多语言中的应用 两大模型家族的特色 量大模型家族的私有化部署 微调Mistral和Phi模型的流程 微调案例分享
MoE(Mixture of Experts)模型概念 MoE模型在大规模数据处理中的优势 微调MoE模型的关键点 MoE模型的应用案例 MoE模型的扩展性和可维护性问题 Mistral 8x7b 微调案例分享
理解需求以及技术方案设计 智能客服指令数据收集 Benchmark的获取和整理 微调Mistra 8x7b+QLoRA模型 模型评估以及验收报告制作
Baichuan中文大模型 Falcon模型家族 Bloom模型介绍 不同领域开源模型的应用实例 微调这些开源模型的技术指导
评估开源模型的关键标准 匹配项目需求和模型特性 实践中选择开源模型的经验分享 开源模型使用中的常见陷阱 社区和资源的重要性
大模型对齐的重要性和应用场景 基本对齐技术和方法概述 对齐过程中的数据处理和预处理 模型对齐的评估指标 大模型对齐的挑战和策略
开源数据集的重要性和来源 选择和处理对齐用的开源数据 开源数据在模型对齐中的应用 数据隐私和伦理考量 维护和更新开源数据集
RLHF(强化学习从人类反馈)技术介绍 RLHF在模型对齐中的应用案例 实施RLHF技术的步骤 RLHF技术的效果评估 解决RLHF应用中的问题 RLHF实战案例分析
DPO(Direct Preference Optimization)概念 DPO在优化模型对齐中的作用 实现DPO的关键技术点 DPO应用的案例和效果分析 DPO技术的挑战和前景 DPO实战案例分享
需求分析以及技术方案设计 数据收集和预处理 训练Reward Model 训练RLHF完整微调 项目的评估和优化
需求分析以及技术方案设计 对齐数据的准备和处理 执行DPO模型对齐流程 对齐效果的评估和调整 项目中遇到的挑战
当前大模型对齐技术的发展趋势 模型对齐在大模型中的真正价值 对齐在工程上挑战 模型对齐技术的伦理和社会影响 资源推荐和学习路径
垂直领域的研发符合中国现状 垂直领域大模型研发pipeline 微调大模型的基本方法和流程 选择合适的微调策略 微调中的性能优化技巧 微调项目的评估和调整
智能问诊领域的应用场景和需求 大模型能力维度设计 领域内benchmark设计 快速测试开源模型能力并选择合适的模型 微调模型以适应医疗数据 模型部署以及RAG设计
金融领域通用大模型需求分析 金融领域大模型benchmark XuanYuan开源项目剖析 金融领域大模型案例解读 微调模型在金融Benchmark上的评估 金融领域中的未来潜在落地场景
教育领域的大模型应用场景和需求 微调大模型进行个性化学习支持 EduChat开源项目剖析 指令数据和对齐数据的整理 Benchmark以及大模型评估 教育领域中的未来潜在落地场景
课程学习要点回顾 项目成果分享和评估 学习心得和经验交流 未来发展趋势和学习路径
