首页 > 编程语言 >程序员系统入门大模型的路径和资源,看这篇就够了

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

时间:2024-06-24 11:00:41浏览次数:29  
标签:入门 AI 模型 LangChain 程序员 only 这篇 LLM 向量

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

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

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.

标签:入门,AI,模型,LangChain,程序员,only,这篇,LLM,向量
From: https://blog.csdn.net/HUANGXIN9898/article/details/139918299

相关文章

  • Java处理PDF文档【上】( 全新 iText 8.0 基础入门 、元素)
    一:iText简介iText是一个开源的Java库,用于处理PDF文档的创建、修改和呈现。它提供了一系列功能强大的API,使开发人员能够在他们的应用程序中轻松地操作PDF文件。它是由一家名为iTextGroupNV的公司开发和维护的,总部位于比利时。该公司专注于PDF技术,并致力于提供高......
  • 内卷时代!程序员如何突破35岁的宿命?
    大家好,我是码农先森。曾经梦想仗剑走天涯,如今却在写字楼里安家。他乡容不下灵魂,家乡容不下肉体,还面临着35岁被毕业,这难道就是程序员的宿命?大环境我们无法改变,但我认为至少能改变自己。我想从技术、业务、管理这三方面来阐述自己的观点,希望对大家能有所启发。技术不知大家在公司......
  • 资深程序员必备技能-如何对软件系统做技术规划
    1.前言本文是笔者对于技术规划的一些思考沉淀。如果这篇文章能帮助你入门技术规划,那自然是最好的,同时,正所谓教是最好的学,这也侧面了证明笔者已经掌握了技术规划的能力哈哈。2.我对软件系统技术规划的理解软件系统技术规划,顾名思义,就是对软件系统做一些技术侧的规划,分三块描述......
  • 向量数据库Milvus快速入门——AIDOCZH.COM上线Milvus中文文档
    Milvus快速入门——AIDOCZH.COM上线Milvus中文文档文章目录Milvus快速入门——AIDOCZH.COM上线Milvus中文文档Milvus官方文档的中文翻译Milvus介绍什么是Milvus向量数据库?关键概念非结构化数据嵌入向量向量相似性搜索为什么选择Milvus?支持的索引和度量标准是什么?索......
  • 音频信号处理入门-第二周
    音频信号处理学习-第二周语音识别模型的基本思路前端处理信号预处理:对输入的语音信号进行预处理,包括去噪、预加重(强调高频成分)、分帧和加窗(通常使用汉明窗)。特征提取梅尔频率倒谱系数(MFCC):从预处理后的语音信号中提取特征,最常用的是梅尔频率倒谱系数(MFCC)。其他常用的特征包括......
  • 人工智能入门-第二周
    人工智能入门-第二周全连接神经网络什么是全连接神经网络?全连接神经网络(FullyConnectedNeuralNetwork,FCNN),是一种基础的神经网络模型。特点是每一层中的每一个神经元都与下一层中的每一个神经元相连。典型的神经网络训练过程生成标签数据将标签数据数值化将数值化后的......
  • C#快速入门(十):枚举
    一、枚举1.1 IEnumerator接口IEnumerator接口是用于支持集合类的迭代的接口。它定义了用于访问集合中元素的成员,并提供了一种统一的方式来遍历集合中的元素。IEnumerator接口定义了以下成员:Current属性:获取集合中当前位置的元素。MoveNext()方法:将迭代器推进到集合中......
  • SDL3 入门(3):三角形
    SDL3提供了SDL_RenderGeometry函数绘制几何图形,用法和OpenGL差不多,先定义顶点数据,然后根据顶点数据绘制几何图形。绘制三角形的代码如下:std::array<SDL_Vertex,3>origin_vertices={SDL_Vertex{{150,100},{1.0f,0.0f,0.0f,1.0f}},//topSDL_Vert......
  • C语言从入门到进阶(15万字总结)
    前言:《C语言从入门到进阶》这本书可是作者呕心沥血之作,建议零售价1元,当然这里开个玩笑。 本篇博客可是作者之前写的所有C语言笔记博客的集结,本篇博客不止有知识点,还有一部分代码练习。有人可能会问,作者不会是cv战士吧!作者在这里回答大家,有cv战士的成分,但不完全是。我是将......
  • PostgreSQL——入门到精通(小白必看)
    PostgreSQL是一个高度可扩展的开源对象关系数据库管理系统(ORDBMS),它以其稳定性、强大的功能和对SQL标准的严格遵守而闻名。第一部分:PostgreSQL简介和安装1.1PostgreSQL概述定义:PostgreSQL是一个高度可扩展的开源对象关系数据库系统,支持丰富的数据类型和并发控制机制。优势:强......