程序员系统入门大模型的路径和资源,看这篇就够了

本篇文章面向对大模型领域感兴趣,又不知如何下嘴的程序员。

看一下围绕大模型的应用场景和人才需求:

img

**Prompt工程:**基于提示词对大模型的使用,会问问题就行。

**基于大模型的应用(狭义的):**通过预设一些Prompt的方式做业务层应用,俗称大模型套壳。AI主播、AINPC、AI小助手。。。之前是会调API就行。现在有了GPTs,连调用API都可以不用了,动动嘴就可以实现应用生成。

在这里插入图片描述

私有知识库:用RAG技术给大模型配个“资料袋”**——**大模型外挂向量数据库。

**AI Agent:**给大模型“大脑”装上记忆体、手和脚,让它可以作为智能体进行自主决策、任务拆解和执行。

**微调大模型:**基于基座大模型的Fine Tuning。

**训练大模型:**大模型训练,高端赛道的角逐。

因此普通程序员研究大模型,不妨选择从外到内的思路,从套壳应用,再了解部署、微调和训练。

前导篇

Python

Python:AI领域最常用的编程语言。要学会基础语法、数据结构等。Python不难,对于一般程序员来说很容易上手。

向量数据库

随着AI的发展进入新的时代,知识的存储和表示就和向量分不开了。向量这个数学表达,在目前是人与AI交互的中间媒介。 向量数据库是一种特殊的数据库,它以多维向量的形式保存信息。让大模型拥有“记忆”,就需要用到向量数据库。

常见的向量数据库包括:Chroma、ES、FAISS、Milvus等,需要了解和会用。

实战篇

LangChain

要将大语言模型的能力开发成产品,就需要LangChain帮忙了。LangChain 是一个 LLM 编程框架,它提供了一套工具、组件和接口,借助LangChain,我们可以更加便利地给大模型这个“大脑”装上记忆和四肢,更轻松地完成基于大模型的应用开发。

比如带有私有知识库的办公助手等AI Agent,都可以借助LangChain来完成。

在这里插入图片描述

LangChain主要支持6种组件:

  • Models:模型,各种类型的模型和模型集成
  • Prompts:提示,包括提示管理、提示优化和提示序列化
  • Memory:记忆,用来保存和模型交互时的上下文状态
  • Indexes:索引,用来结构化文档,以便和模型交互
  • Chains:链,一系列对各种组件的调用
  • Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止

最近又更新了LangGraph,用于创建多Agent应用。

可以结合市面上的一些开源项目学习Langchain。

在本地搭建部署开源模型

从零入门大模型技术,其实还是有点门槛的,硬件资源就是一关,性能一般有限。但还是可以从参数规模较小的7B左右开源模型开启尝试。比如清华的GLM系列,meta的llama系列都可以。

另外也可以用Ollama工具,Ollama旨在简化在Docker容器中部署和管理大型语言模型(LLM)的过程。Ollama支持的模型库,连包Llama3都包括了,还是很香的。

在这里插入图片描述

如果嫌自己摸索太麻烦,正好最近发现一个程序员的AI大模型进阶之旅免费公开课**。**

这个课正是为了适应当下AI大模型的发展而推出的,由几位业内大佬主讲,主要面向的就是想系统性学习AI大模型的同学。会带你深度解析此轮AI变革和以往有何根本不同,还能学习大模型相关的Langchain技术,以及如何fine-tune模型等。

重要的是有 AI 大模型学习资源包,以及好用的 AI工具等。感兴趣的可以微信扫码免费学习 ↓ ↓ ↓

在这里插入图片描述

提高篇

机器学习基础

了解分类算法、回归算法、聚类算法、降维算法等经典的机器学习算法;
模型评估:交叉验证、偏差和方差、过拟合和欠拟合、性能指标(准确率、召回率、F1分数等)。

深度学习基础

掌握CNN,RNN等经典网络模型,然后就是绕不开的Transformer。

Transformer是一个引入了 Self-attention 机制的模型,它是大语言模型的基石,支撑着庞大的大语言模型家族。

在这里插入图片描述

在代码层面,必须掌握的就是神经网络的框架,主流框架有tenorflow,Pytorch等。

NLP 基础知识

NLP、NLU、NLG的差别;

自然语言处理中的基本任务和相关的应用;

TF-IDF、word2vec、BERT等基本算法和技术;

预训练语言模型:模型的输入、模型的结构、训练的任务、模型的输出;

可以直接从word2vec开始了解,然后到transformer,bert。

了解LLM的3个分支和发展史

根据使用的 Transformer 的方式不同,有3种常见的主流架构:encoder-only,encoder-decoder和decoder-only。

这张图清晰地展示了LLM的3个分支:

在这里插入图片描述

  • encoder-only:BERT
  • encoder-decoder:T5, GLM-130B, UL2
  • decoder-only:GPT系列, LLaMA, OPT, PaLM,BLOOM

了解典型 Decoder-only 语言模型的基础结构和简单原理。

深入篇

掌握 Continue Pre-train、Fine-tuning 已有开源模型的能力;
掌握 Lora、QLora 等最小化资源进行高效模型训练的PEFT技术;
掌握强化学习基础;
Alignment与RLHF;
数据处理技术;
压缩模型、推理加速技术;
分布式训练并行技术;
分布式网络通信技术;
生产环境部署大模型的相关技术。

很多人说,大模型赛道不是普通人能玩的。狭义的大模型赛道,是这样,更多的是看运气。但是大模型之上的生态,目前来看是广阔的蓝海。关于大模型更加体系化的介绍,建议去听一下免费公开课,有业内老师进行系统化的梳理,比自己摸索会高效很多:
在这里插入图片描述

退一万步讲,就是为了提高工作效率自己先用起来,也是个很好的加持。所以积极了解大模型,入股不亏。

参考资料:

Langchain 官方文档:Introduction | ️ Langchain

中文站:LangChain 介绍(内容比英文站更新慢)

github:https://github.com/hwchase17/langchain

其他语言的LangChain:

Golang: https://github.com/tmc/langchaingo

Ruby:GitHub - tmc/langchaingo: LangChain for Go, the easiest way to write LLM-based programs in Go

Java:https://github.com/langchain4j/

Ollama:

GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/738860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Avalonia 常用控件二 Menu相关

1、Menu 添加代码如下 <Button HorizontalAlignment"Center" Content"Menu/菜单"><Button.Flyout><MenuFlyout><MenuItem Header"打开"/><MenuItem Header"-"/><MenuItem Header"关闭"/&…

一文讲清楚人工智能集成学习之多模型投票(Voting)

一、集成学习 集成学习是人工智能领域中一种强大的机器学习方法&#xff0c;它通过结合多个学习器来提高整体的预测或分类性能&#xff0c;通常能够比单一模型表现得更好。 1.1 集成学习的原理 集成学习的核心思想是“集思广益”&#xff0c;即通过集合多个模型的预测结果来提…

面向对象修炼手册(二)(消息与继承)(Java宝典)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;面向对象修炼手册 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 消息传递 1 基本概念 1.…

Python19 lambda表达式

在 Python 中&#xff0c;lambda 表达式是一个小型匿名函数&#xff0c;通常用于实现简单、单行的函数。lambda 函数可以接受任意数量的参数&#xff0c;但只能有一个表达式。 基本语法&#xff1a; lambda arguments: expression这里&#xff0c;arguments 是传递给 lambda …

LeetCode —— 只出现一次的数字

只出现一次的数字 I 本题依靠异或运算符的特性&#xff0c;两个相同数据异或等于0&#xff0c;数字与0异或为本身即可解答。代码如下: class Solution { public:int singleNumber(vector<int>& nums) {int ret 0;for (auto e : nums){ret ^ e;}return ret;} };只出…

Kubernetes排错(十)-处理容器数据磁盘被写满

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满&#xff1f; 容器数据目录大多会单独挂数据盘&#xff0c;路径一般是 /var/lib/docker&#xff0c;也可能是 /data/docker 或 /o…

基于CDMA的多用户水下无线光通信(3)——解相关多用户检测

继续上一篇博文&#xff0c;本文将介绍基于解相关的多用户检测算法。解相关检测器的优点是因不需要估计各个用户的接收信号幅值而具有抗远近效应的能力。常规的解相关检测器有运算量大和实时性差的缺点&#xff0c;本文针对异步CDMA的MAI主要来自干扰用户的相邻三个比特周期的特…

wordpress教程自动采集并发布工具

随着互联网的快速发展&#xff0c;越来越多的人开始关注网络赚钱。而对于许多人来说&#xff0c;拥有一个自己的个人网站是一个不错的选择。然而&#xff0c;要让自己的个人网站内容丰富多样&#xff0c;就需要不断地进行更新。那么&#xff0c;有没有一种方法可以让我们轻松地…

服务器数据恢复—raid5热备盘同步失败导致阵列崩溃如何恢复数据?

服务器存储数据恢复环境&故障&#xff1a; 某品牌DS5300存储&#xff0c;包含一个存储机头和多个磁盘柜&#xff0c;组建了多组RAID5磁盘阵列。 某个磁盘柜中的一组RAID5阵列由15块数据盘和1块热备硬盘组建。该磁盘柜中的某块硬盘离线&#xff0c;热备盘自动替换并开始同步…

C语言入门系列:从内存原理看函数的值传递和引用传递

文章目录 一&#xff0c;值传递二&#xff0c;引用传递三&#xff0c;从内存原理看值传递和引用传递的区别1 值传递内存示意图2 引用传递内存示意图 参考文献 函数参数用于向函数传递数据&#xff0c;C语言支持两种传递方式&#xff1a;值传递和引用传递。 一&#xff0c;值传递…

校史馆虚拟翻书设计有哪些技术上的亮点?

近年来&#xff0c;互动多媒体已成为展览展示行业中备受瞩目的焦点&#xff0c;尤其是那些凭借尖端的投影与感应技术打造的互动装置&#xff0c;它们在各个主题展厅中独领风骚&#xff0c;其独特魅力不言而喻。而当我们深入思考其在校史馆设计中的应用时&#xff0c;不难预见&a…

【每日一题】503. 下一个更大元素 II

思路&#xff08;c&#xff09; 使用单调栈的解法&#xff0c;单调栈里面存的是大于当前元素的index&#xff0c;不是直接存值。但是这个题目是一个循环数组&#xff0c;可以在后面补一段前面的内容&#xff0c;这样就可以正常遍历。将每个位置对应的结果存在map中 后面循环…

BUUCTF [CISCN2019 华北赛区 Day2 Web1] Hack World

1、通过题目&#xff0c;可以知道该题目为SQL注入类型&#xff1a; 2、判断注入类型为数字注入&#xff1a; 3、通过BP抓包&#xff0c;来判断注入点。 字典爆破发现常规的注入方式都被过滤。 4、因此可以尝试通过布尔盲注的方式来得到flag。编写脚本得到flag import requests…

华为仓颉语言:编程语言的新篇章

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Vue.js 自定义组件的三种用法

1.创建项目 创建项目,你可以参考我以前的博文,这里省略了 项目的目录结构如下: 接着,我们在 src/components 目录下创建一个自定义的组件 SplashHello.vue,示例代码如下所示: <template><div><p>{{ title }}</p><p>{{ message }}</p&…

MTK7628+MT7612 加PA定频数据

1、硬件型号TR726A5G121-DPA PC9.02.0017。如下所示&#xff1a; 2、WIFI5.8 AC模式 42&#xff08;5120MHz&#xff09;信道&#xff0c;80带宽 3、WIFI5.8 AC模式 38&#xff08;5190MHz&#xff09;信道&#xff0c;40带宽 4、WIFI5.8 AC模式 36&#xff08;5180 MHz&…

【机器学习】自然语言处理的新前沿:GPT-4与Beyond

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 &#x1f525;引言 背景介绍 文章目的 一、GPT-4简介 GPT-4概述 主要特性 局限性和挑战 二、自监督学习的新进展 自监督学习的原理 代表性模型和技术 三、少样本学习和零样本学习 少样本学习的挑战 先…

AIGC+艺术=教育变革?

在数字化时代的浪潮中&#xff0c;技术的每一次跃进都深刻影响着社会的各个领域&#xff0c;教育亦不例外。近年来&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术的兴起&#xff0c;为艺术教育领域带来了前所未有的变革机遇。当AIGC与艺术相结合&#xff0c;我…

人工智能-鲁棒性(通俗易懂)

1.什么是鲁棒性 在机器学习中&#xff0c;鲁棒性&#xff08;Robustness&#xff09;是指模型对于异常数据或噪声的抗干扰能力。一个鲁棒性较强的模型能够在面对未知的数据或者数据中存在噪声或异常值时&#xff0c;仍能保持较好的性能和泛化能力。鲁棒性是一个重要的性能指标…

JavaSE (Java基础):Scanner类介绍

4 Scanner最最最基础的使用 Scanner是Java中十分常用到的类&#xff0c;对于这个类的用法我认为并不难&#xff0c;想用直接调用就行&#xff0c;在IDE中输入&#xff1a;new Scanner&#xff08;System.in&#xff09;;后按住altenter键后会直接给这个被赋给类的元素&…