赞
踩
1、了解大模型能做什么
2、整体了解大模型应用开发技术栈
3、浅尝OpenAI API的调用
AI全栈工程师:懂AI、懂编程、懂业务的超级个体,会是AGI(Artificial General Intelligence 通用人工智能)时代最重要的人。
从三个方面学习:原理、实践 和 认知 三类
1、不懂原理就不会举一反三,走不了太远。
2、不懂实战就只能纸上谈兵,做事不落地。
3、认知不高就无法做对决策,天花板太低。
如果能三者兼备,是最好的。但不同岗位角色可以有不同的取舍。比如:
1、老板更多关注认知,但如果懂原理,能形成更多的认知
2、程序员更多关注实战,但原理和认知是地基和天花板
3、产品经理更多关注认知,但应该也懂原理,并了解一些实战
4、市场、运营和销售需要关注认知,并了解一些原理说明:在剧烈变革的时代,千万别只拿代码当干货!更深的东西,未必是有用的。
什么是AI?基于机器学习、神经网络的是AI;基于规则、搜索的不是AI
大模型:全称大语言模型(Large Language Model,缩写:LLM)
常用大模型
1、按格式输出:例如,从一段话中,提取姓名、地址、电话等结构化信息。
2、分类:例如,根据新闻标题,对新闻进行分类
3、聚类:把一堆句子,按意思相近度进行分组
4、更多用法
思考:你的业务中,有哪些问题可以用AI解决?
5、可能一切问题,都能解决,所以是AGI
划重点:
1.把大模型看做是一个函数,给输入,生成输出
2.任何业务问题,都可以用语言描述,成为大模型的输入,就能生成业务问题
的结果
3.实际工作中,通常需要将业务任务拆解为若干个子任务,分别解决。理解业
务本质,对拆解任务有很大帮助!
1、通俗原理
大模型是怎么生成结果的?其实,它就是根据上文,猜下一个词(的概率)…… 这个算法叫 transformer
如:The cat sat 后面出现的词可能是:at(0.1) / in(0.1) / on(0.8)
AI大模型的核心原理:基于概率生成下一个token(选择下一个概率高的token),token拼token,最后就拼成了一整句话。
OpenAI的接口名就叫completion,也证明了其只会生成的本质。下面用程序演示生成下一个字。你可以自己修改prompt试试。还可以使用相同的prompt运行多次。
# 这是一个Python调用ChatGPT的代码 # 1.引入必须的包 from openai import OpenAI from dotenv import load_dotenv, find_dotenv import os # 读取本地/项目的环境变量。 # find_dotenv()寻找并定位.env文件的路径 # load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中 # 如果你设置的是全局的环境变量,这行代码则没有任何作用。 _ = load_dotenv(find_dotenv()) client = OpenAI() prompt = "今天我很" #改我试试 # 使用openai中的api完成chatgpt的模型调用 response = client.completions.create( # chatgpt背后的模型 model = "gpt-3.5-turbo-instruct", # 向chatgpt提出的问题 prompt = prompt, # 返回的最大字符个数 max_tokens = 20, temperature = 0.5, # temperature(温度)参数,范围是 0~2,它用于控制随机性。 stream = True ) for chunk in response: message = chunk.choices[0].text print(message, end='') # 打印结果,如: ''' 输出结果: 高兴 今天我因被告知我通过了一场重 '''
2、略深一点的通俗原理
用不严谨但通俗的语言描述大模型的工作原理:
1.大模型阅读了人类曾说过的所有的话。这就是机器学习,这个过程叫训练
2.把一串 token 后面跟着的不同 token 的概率记了下来。记下的就是参数,也叫权重
3.当我们给它若干 token,大模型就能算出概率最高的下一个 token 是什么。这就是生成,也叫推理
4.用生成的 token,再加上上文,就能继续生成下一个 token。以此类成更多文字
Token 是什么?
1.可能是一个英文单词,也可能是半个,三分之一个。可能是一个中文词,或者一个汉字,也可能是半个汉字(是把 unicode 做拆分,并不是直接把汉字拆分),甚至三分之一个汉字
2.大模型在开训前,需要先训练一个 tokenizer 模型。它能把所有的文本,切成 token
3、再深一点点
这套生成机制的内核叫Transformer 架构。但其实,transformer 已经不是最先进的了。
OpenAl 首席科学家 llya Sutskever 说过:
数字神经网络和人脑的生物神经网络,在数学原理上是一样的。
所以,我们要:把AI当人看(认知层面)。
我们和凯文-凯利交流时,他说了类似的观点:「和人怎么相处,就和Al怎么相处。」
1.用「当人看」来理解 Al
2.用「当人看」来控制 Al
3.用「当人看」来说服用户正确看待 Al 的不足
如果把AI当作以前逻辑严密的机器去看待它,你会非常地不适,不知道怎么去用它,会各种瞧他不顺眼。你必须把他当人看,像对人一样去和他相处、去交流,去包容他,你就能更好地用好AI。
大模型技术分两个部分:
1.训练基础大模型:全世界只需要 1000 人做这个
2.建造大模型应用:所有技术人,甚至所有人,都需要掌握
大模型应用技术特点:门槛低,天花板高。
Agent 还太超前,Copilot 值得追求。
架构1:纯 Prompt。就像和一个人对话,你说一句,ta 回一句,你再说一句,ta再回一句……
架构2:使用了 Agent + Function Calling
即当你问AI问题时,AI会反问你问题,明确问题后,再回答结果
流程说明:
1、应用程序发一个 prompt,prompt 触发了大模型的 Agent
2、Agent 会给我们一个 Function Calling,告诉我们要去调用某一个函数(内部/外部APIs),等待函数返回结果,把拿到的结果再传给大模型。
3、大模型 response 最终结果。
架构3:使用了RAG (RAG = Embeddings + 向量数据库)
即将文本/图片等数据转换为实数向量数据,方便向量数据库进行存储和相似度检索。
场景举例:考试时,看到一道题,到书上找相关内容,再结合题目组成答案。然后,就都忘了
通俗的解释:
如,考试的时候,带上书本(书本就相当于是向量数据库,里面存的是考试内容知识点)。当应用程序发一个 prompt (问题)时,先到向量数据库中查找与问题相关的知识,然后把查找到的相关知识和问题一起丢给大模型,尽管大模型不懂这个知识,但是你把知识喂给了它,它会基于问题和知识给你生成一个合适的答案。
特点:大模型不懂知识,知识是存在向量数据库中(即知识存在书本上),大模型在答题时,要结合问题和向量数据库中相关知识点临时总结生成一个合适的答案(有点像开卷考试一样,人脑没有学习和记住相关知识,要去书本上查找相关知识点才能总结和提炼出答案)。
架构4:Fine-tuning 微调
就是考试不带书本,考试前努力学习考试内容,长期记住(知识存在脑子里,大模型懂知识),活学活用
大模型微调,是对历史数据进行训练,让大模型学会了某些知识。但是大模型是不知道一些实时数据,实时数据是需要通过大模型外部的一些方式获取(如:获取当前时间,通过内部/外部API方式获取;获取今日热点新闻,从RAG方式向量数据库中获取)
官方文档:https://platform.openai.com/docs/api-reference
本课程主要讲 OpenAl 的 GPT 系列大模型的使用,因为:
本课程的主打语言是 Python,因为:
在命令行执行:pip install --upgrade openai
# 这是一个Python调用ChatGPT的代码 # 引入必须的包 import openai import os # 加载 .env 文件到环境变量 from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # 初始化 OPENAI 服务。会自动从环境变量加载 OPENAI_API_KEY 和 OPENAI_BASE_URL client = OpenAI() # 消息格式 messages = [ { "role": "system", "content": "你是AI助手小瓜,是AGI课堂的助教。这门课每周二、四上课。" }, { "role": "user", "content": "哪天有课?" } ] # 调用 GPT-3.5 chat_completion = client.chat.completions.create( # chatgpt背后的模型 model = "gpt-3.5-turbo", messages = messages ) # 输出回复 print(chat_completion.choices[0].message.content) # 打印结果:这门课每周二、四有课。
一、AI大模型在数据治理有什么应用?
1、用大模型对数据中非结构化数据做整理;
2、用自然语言直接查询数据 NL2SQL。
NL2SQL( Natural Language To SQL)是自然语言到结构化查询语言(SQL)的转换技术。它可以将自然语言的问题转化为数据库查询语言,以便直接与数据库交互进行数据查询和操作。顾名思义,是将用户输入的自然语言转为可执行的SQL语句。
二、文字、图像、视频大模型token区别
大语言模型是以文字为token;图像大模型是以图像为token;视频大模型是以视频帧/视频流为token;
三、为什么量化交易阶段不能用大模型?
1、大模型的运算速度是非常慢的,不具备实时性;
2、大模型有很强的幻觉。
在量化交易里面大模型一般可以做前期的情报分析,和做后期的数据分析总结。
四、大模型参数是什么?
参数就是一堆数据,数据里存的是权重,权重就是词与词之间的概率
五、通用大模型这么强大,还有做专业大模型的空间和价值吗?
通用大模型并不是什么都会,保持大面积的通用性就行,因为训练成本会很高。另外通用大模型不够专精,专业大模型参数少,训练成本低,比较专精更具性价比。
六、向量数据库
把数据放到向量数据库中,在对话的时候可以理解语义去向量检索,检索到相关内容并丢给大模型再回答最终结果。
七、大模型中 Turbo 表示是什么意思?
如:qwen-turbo、GPT-4 Turbo 表示是一个增强版模型,即该模型在性能、速度、准确性或其他方面有所优化或增强
八、大模型中 B 表示是什么意思?
在人工智能领域中,当我们提到“XXB”(例如:6B、34B)这样的术语时,它通常指的是模型的参数量,其中“B”代表“Billion”,即“十亿”。因此,6B表示模型有6十亿(即60亿)个参数,而34B表示模型有34十亿(即340亿)个参数。
说明:英文和中文的量词不一样,中文的量词更加细化
中文:个、十、百、千、万、十万、百万、千万、亿
英文:千(Thousand
,简写:K)、百万(Million
,简写:M)、十亿(Billion
,简写:B)
一般来说参数量超过1B,也就是10亿的模型才叫大模型(Large Lanauage Model)
可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。