首页 > 编程语言 >从小白到入门,写给程序员的LLM学习指南

从小白到入门,写给程序员的LLM学习指南

时间:2024-09-18 11:53:15浏览次数:3  
标签:学习指南 Prompt 白到 AI 模型 学习 LLM ChatGPT

年初的时候,我第一次接触了ChatGPT,在被深深震撼之后,我意识到一个新的时代正在来临,作为程序员的我有了从未有过的危机感,经过过去几个月的学习,我逐渐度过了不知所措的阶段,慢慢地对以ChatGPT为代表的LLM有了一些感觉,这篇文章就把过去这段时间的学习整理成一个学习路线图,希望能对有志于入门AI的同学有点帮助。

小白应该从哪里开始

假设您和我一样是从小白开始,我建议首先能有一个快速启动,迅速地把ChatGPT用起来,同时也为进一步的学习做好准备,具体我建议:

  1. 有一个自己的ChatGPT账号,有自己OpenAI的API Key,这是一切的起点

  2. 尝试着和ChatGPT聊聊天,试试不同的话题(如写作、摘要、写码、翻译…),对ChatGPT不同方面的能力有所了解

  3. 试着在工作、生活中可能的地方都用ChatGPT试试(比如写周报),开始让ChatGPT为我们实际创造价值

  4. 如果你还没有GitHub账号或Hugging Face账号,那么尽快注册账号,这是未来学习离不开的两个社区,同时学会使用Google的Colab,这里提供一定量免费的GPU使用

  5. 如果你还不熟悉Python,可以快速学习了解下,LLM社区大量的项目都是基于Python的,我们不用追求马上精通Python,了解基本语法,能看懂别人的代码就可以了,几天时间应该就可以入门

从Prompt入手玩转ChatGPT

使用一段ChatGPT后,你很快会发现很多时候要让ChatGPT按自己的期望工作,Prompt是关键,在这个阶段,我建议:

  1. 学习写好Prompt的通用原则

  2. 掌握常见的Prompt技巧(如Few-Shot, Instruction, CoT…)

  3. 如果有时间,还可以学习一些高阶的Prompt技巧,这些技巧在处理一些复杂的问题时会有帮助

  4. 学会使用OpenAI Playground,在学习LLM的过程中,你会花大量的时间写Prompt,Playground能帮你节省大量的时间

  5. Prompt是LLM领域讨论最热烈的话题,多看、多搜、多想、多练,很快你就会成为Prompt高手

学习Prompt专业玩法,解决实际问题

如果你只是作为使用者玩玩ChatGPT,上面的学习应该已经足够了,如果你作为程序员,想用ChatGPT解决一些实际的业务问题,很多时候光靠手写Prompt是不够的,此时就需要一些专业的玩法了,我建议:

  1. 读一读Prefix-Tuning, P-Tuning, Prompt Tuning, Y-Tuning的相关论文,大家不用对读论文感到恐惧,现在的论文里数学公式越来越少了,更多都是工程实践,只要你能完成一篇论文,读论文这个技能树你就点亮了

  2. 至少动手写码实践上述技巧中的一种,我自己是试着实现了Prompt Tuning

  3. 多搜、多看,这个领域总是不断有新的玩法涌现出来

学会使用必要开发框架和工具

从上一阶段开始,作为程序员的我们已经开始逐步动手实践了,掌握一些开发框架、第三方库能极大地加速我们的开发效率,我建议:

  1. 一定要学习LangChain,虽然LangChain本身只是对LLM调用的一个包装,但是其Agent,Memory,Chain,Prompt的封装能大幅简化开发

  2. 学习如何使用Hugging Face,学习Hugging Face出品的Transformer, Peft这两个绕不开的库

  3. 学习ChatGPT plugin,没准下一个Killer Plugin就是你开发的

  4. 学习至少一种Embedding数据库的基本用法

  5. 如果有时间,多了解PyTorch、NumPy等几乎必然会使用的开发库

开始大量动手实践

ChatGPT是LLM工程实践的胜利,同样,学习LLM也需要大量的动手实践,只有在实践中我们才能碰到真正的问题,只有解决真正的问题,我们才能对LLM有深入的理解,我建议:

  1. 首先学会如何通过API调用ChatGPT

  2. 试着在代码里使用之前学习的各种Prompt技巧,通过对用户隐藏一些你对ChatGPT的调用,你能写出一些用户看起来很神奇的应用(比如最近大火的AutoGPT)

  3. 因为每次调用的每个token都有费用,有意学习一些上下文压缩技巧,有意学习一些上下文保持技巧

  4. 实现一个类似于ChatPDF这样的简单应用,学会如何给ChatGPT灌输外部知识

  5. 有人认为有了ChatGPT,未来的人机交互会像钢铁侠和他的Jarvis一样,所以试着实现一个以对话为交互界面的私人助手,如果你有兴趣,还可以通过引入语音转文字,文字转语音,让你的助理更像Jarvis一些,有时间还可以翻一翻AutoGPT的源码,你会发现看起来很炫其实实现很简单

  6. 在实际业务场景,数据隐私很多时候是个顾虑,所以试着找一个ChatGPT的开源平替,看看能不能在自己的机器上跑起来

  7. 结合自己兴趣,或者实际业务场景,动手做更多实践

进入动手实践的深水区

随着实践的不断增加,你会发现无论你怎么使用Prompt技巧,模型都不能按期望工作,此时你将不得不对模型进行训练,也许我们没机会对一个大模型进行全参数的训练,但我们可以进行很多低成本的模型精调,我建议:

  1. 了解一些模型精调方法如Adapter,LoRA,MPOP,Sparse Fine Tuning等,这个环节,最好还是读一下相关的论文,这些论文里会有些数学,但内容不多,即使跳过也不影响对论文的理解 。

  2. 了解Self-Instruct这个最重要的创建数据(科学薅羊毛)的方法,论文的作者很实在,把自己使用的具体Prompt都在论文中详细列了出来,建议自己动手实现一遍Self-Instruct。

  3. 精调模型离不开好的训练数据,了解开源社区有哪些好的训练数据源。

  4. 真正动手做一次模型精调,如果你有自己的业务场景和业务数据,那这是最理想的模型精调,如果没有也可以用一些开源数据集做练习。

  5. ChatGPT的惊艳离不开RLHF这个强大的模型训练方法,虽然因为其成本我们没太多机会直接实践RLHF,但一定要了解其工作原理。

更进一步,知其然更知其所以然

如果一步步走到这里,相信你对LLM应该已经有了自己的理解,如果你想进一步深入学习,为未来真正成为LLM的大拿做好准备,那么就需要了解LLM背后的Why,我建议:

  1. 了解ChatGPT的整体架构和详细的工作流程

  2. 了解Transformer架构,了解它和之前的RNN,CNN的区别和联系

  3. 了解Embedding

  4. 了解注意力机制的详细工作原理

  5. 了解机器学习的基础知识

  6. 了解深度学习的基础知识

  7. 了解相关的代数和概率知识

埋头赶路,更要抬头看天

AI这个领域,几乎每天都有新的变化和进展,同时我们的学习也是为了创造价值,因此,除了学习各种技巧和技术,我们也需要了解行业里到底在发生什么,我建议:

  1. 多看看大公司的动向,行业的发展往往由他们引领

  2. 多看看投融资领域的大事件,VC的嗅觉是最敏锐的

  3. 多看看产品、技术方面的突破,多从长期视角看本质突破,注意屏蔽那种一惊一乍吸引眼球的噱头,争取让自己起码每个月能看一篇精选的论文

  4. 多关注行业的竞争,多看看开源社区的进展,多看看ChatGPT竞争对手的进展

  5. 更具体地,多关注多模态的方面的进展,多关注降低模型训练、推理成本方面的进展,多关注数据隐私和私有化部署方面的进展

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】

标签:学习指南,Prompt,白到,AI,模型,学习,LLM,ChatGPT
From: https://blog.csdn.net/bagell/article/details/142257606

相关文章

  • LLM应用实战: 文档问答系统Kotaemon-1. 简介及部署实践
    1.背景本qiang~这两周关注到一个很火的开源文档问答系统Kotaemon,从8月28日至今短短两周时间,github星标迅猛增长10K,因此计划深挖一下其中的原理及奥秘。本篇主要是Kotaemon的简介信息,涉及到主要特点,与传统文档RAG的区别,如何部署、以及效果演示。后续内容会针对核心模块进行拆解......
  • 移动设备上的大模型优化:MobileLLM
    人工智能咨询培训老师叶梓转载标明出处现有的大模型因为过于庞大难以直接部署在资源受限的移动设备上。针对这一问题,来自 Meta公司和PyTorch的研究团队提出了一种新的优化方法,旨在为移动设备设计高效的、参数少于十亿的高质量大模型,即MobileLLM。图1为小于10亿参数的......
  • 代码随想录算法训练营第六十天 | Bellman_ford之判断负权回路
    目录Bellman_ford之判断负权回路思路常规拓展方法一: Bellman_ford-超时方法二:Bellman_ford2方法三:Bellman_ford队列优化Bellman_ford之判断负权回路题目链接:卡码网:95.城市间货物运输II文章讲解:代码随想录 某国为促进城市间经济交流,决定对货物运输提供......
  • 代码随想录算法训练营第六十天 | Bellman_ford 队列优化算法
    目录Bellman_ford队列优化算法思路模拟过程方法一:Bellman_ford队列优化Bellman_ford队列优化算法题目链接:卡码网:94.城市间货物运输I文章讲解:代码随想录 某国为促进城市间经济交流,决定对货物运输提供补贴。共有n个编号为1到n的城市,通过道路网络连接,......
  • AnomalyLLM: Few-shot Anomaly Edge Detection for Dynamic Graphs using Large Langu
    本文是LLM系列文章,针对《AnomalyLLM:Few-shotAnomalyEdgeDetectionforDynamicGraphsusingLargeLanguageModels》的翻译。AnomalyLLM:使用大型语言模型对动态图进行少量异常边缘检测摘要1引言2相关工作3前言4方法5实验6结论摘要检测动态图的......
  • LLM multiple modal applications
    MoneyPrinterTurbohttps://github.com/harry0703/MoneyPrinterTurbo/tree/main利用AI大模型,一键生成高清短视频GenerateshortvideoswithoneclickusingAILLM. FunClip https://github.com/modelscope/FunClipOpen-source,accurateandeasy-to-usevideosp......
  • 鸿蒙应用开发快速学习指南(初级篇-7 从网络获取数据)
    从网络获取数据第七课:从网络获取数据本节课的内容主要是如何使用http请求模块,依旧是从习题开始。判断题在http模块中,多个请求可以使用同一个httpRequest对象,httpRequest对象可以复用:正确(True)错误(False)从没有听过这种说法,选错误。拿下。使用on(type:‘headersRec......
  • C++从小白到大牛:C++智能指针的使用、原理和分类
    C++从小白到大牛:C++智能指针的使用、原理和分类引言在C++编程中,指针是一个强大但危险的工具。它们允许直接操作内存,但也可能导致内存泄漏、悬空指针等问题。为了解决这些问题,C++引入了智能指针(SmartPointers)的概念。智能指针是一种封装了原始指针的对象,它们自动管理内存的生命周期......
  • TAG:BladeLLM 的纯异步推理架构
    作者:张子鹏PAI引擎团队随着GQA/MLA/MoE等模型结构不断发展,大语言模型的推理逐步解除了显存限制,逐渐向着高并发、高吞吐的方向发展。推理引擎的运行时开销也变得不可忽视。主流LLM推理框架的运行时开销大致来自:Python性能:考虑用户易用性和开发效率,业界主流框架都采用Python......
  • Agentic workflow of LLM
    AgenticDesignPatternshttps://www.deeplearning.ai/the-batch/how-agents-can-improve-llm-performance/?ref=dl-staging-website.ghost.ioReflection:TheLLMexaminesitsownworktocomeupwithwaystoimproveit. ToolUse:TheLLMisgiventoolssuchas......