当前位置: 首页 > news >正文

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

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

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

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.

相关文章:

  • 道路救援小程序源码
  • 把sql拿到数据库中执行,和程序返回的值不一样??????
  • 深度学习工具jupyter的new没有环境选项以及遇到的EnvironmentLocationNotFound:Not such a environment
  • Nginx实现动静分离
  • 赋能AI未来,景联文科技推出高质量亿级教育题库、多轮对话以及心理大模型数据
  • 信息检索(53):Document Expansion by Query Prediction
  • Spring框架学习笔记(本地印象笔记搬运)(整理中)
  • TensorRT-LLM加速框架的基本使用
  • 数据库原理与安全复习笔记(未完待续)
  • 【Linux】使用 iptables 验证访问HDFS 所使用到的端口
  • 光纤通讯资料收集
  • java课程设计GUI学生信息管理系统
  • 爬虫阶段思考
  • 【Rust】——所有可能会用到模式的位置
  • Spring Cloud学习:如何实现Gateway 服务网关限流
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • idea + plantuml 画流程图
  • JavaWeb(学习笔记二)
  • java第三方包学习之lombok
  • Median of Two Sorted Arrays
  • Xmanager 远程桌面 CentOS 7
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 分享几个不错的工具
  • 跨域
  • 我建了一个叫Hello World的项目
  • 责任链模式的两种实现
  • 走向全栈之MongoDB的使用
  • gunicorn工作原理
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 选择阿里云数据库HBase版十大理由
  • # Apache SeaTunnel 究竟是什么?
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (二)pulsar安装在独立的docker中,python测试
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (十) 初识 Docker file
  • (五)网络优化与超参数选择--九五小庞
  • (一)Neo4j下载安装以及初次使用
  • (一)为什么要选择C++
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)Sublime Text3配置Lua运行环境
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET DataGridView数据绑定说明
  • .NET Framework杂记
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 药厂业务系统 CPU爆高分析