LLM Core - Machine Learning Algorithm
线性回归概述 线性回归是一种预测分析技术,用于研究两个或者多个变量之间的关系 尝试用一条直线(二维)或者一个平面(三维)的去拟合数据点 这条直线或者平面,可以用来预测或者估计一个变量基于另一个变量的值 数学 假设有一个因变量 y 和一个自变量 x 线性回归会尝试找到一条直线 y=ax+b a 为斜率,而 b 为截距 以便这条直线尽可能地接近所有数据点 $$y=ax+b$$ sklearn 房价预测 - 房价是因变量 y,而房屋面积是自变量 x 12345678910111213141516171819202122232425import matplotlib.pyplot as pltimport numpy as npfrom sklearn.linear_model import LinearRegression# 定义数据X = np.array([35, 45, 40, 60, 65]).reshape(-1, 1) # 面积y = np.array([30, 40, 35, 60, 65]) # 价格# 创建并拟合模型model = LinearRegre...
LLM Core - Machine Learning Concept
机器学习 机器学习是让计算机利用数据来学习如何完成任务 机器学习允许计算机通过分析和学习数据来自我改进以及作出决策 房价预测 利用 scikit-learn 进行预测 数据集 housing_data.csv 面积 卧室数量 地理位置 售价 100 2 1 300 150 3 2 450 120 2 2 350 80 1 1 220 线性回归12345678910111213141516171819202122232425from sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegressionimport pandas as pd# 加载数据集data = pd.read_csv("housing_data.csv") # 假设这是我们的房屋数据# 准备数据X = data[['面积', '卧室数量', '地理位置']] # 特征y = data[...
LLM - API
背景 LLM 是没有 Web API 的,需要进行一次封装 将 LLM 的核心接口封装成 Web API 来为用户提供服务 - 必经之路 接口封装FastAPI接口封装 Uvicorn + FastAPI Uvicorn 类似于 Tomcat,但比 Tomcat 轻量很多,作为 Web 服务器 允许异步处理 HTTP 请求,非常适合处理并发请求 基于 uvloop 和 httptools,具备非常高的性能 FastAPI 类似于 SpringBoot,同样比 SpringBoot 轻量很多,作为 API 框架 结合 Uvicorn 和 FastAPI 可以构建一个高性能的、易于扩展的异步 Web 应用程序 Uvicorn 作为服务器运行 FastAPI 应用,可以提供优异的并发处理能力 安装依赖12$ pip install fastapi$ pip install uvicorn 代码分层1234567891011121314import uvicornfrom fastapi import FastAPI# 创建API应用app = FastAPI()@app.get(&quo...
LLM RAG - ChatGLM3-6B + LangChain + Faiss
RAG 使用知识库,用来增强 LLM 信息检索的能力 知识准确 先把知识进行向量化,存储到向量数据库中 使用的时候通过向量检索从向量数据库中将知识检索出来,确保知识的准确性 更新频率快 当发现知识库里面的知识不全时,可以随时补充 不需要像微调一样,重新跑微调任务、验证结果、重新部署等 应用场景 ChatOps 知识库模式适用于相对固定的场景做推理 如企业内部使用的员工小助手,不需要太多的逻辑推理 使用知识库模式检索精度高,且可以随时更新 LLM 基础能力 + Agent 进行堆叠,可以产生智能化的效果 LangChain-Chatchat组成模块 模块 作用 支持列表 大语言模型 智能体核心引擎 ChatGLM / Qwen / Baichuan / LLaMa Embedding 模型 文本向量化 m3e-* / bge-* 分词器 按照规则将句子分成短句或者单词 LangChain Text Splitter 向量数据库 向量化数据存储 Faiss / Milvus Agent Tools 调用第三方...
LLM PEFT - ChatGLM3-6B + LoRA
通用 LLM 千亿大模型(130B、ChatGPT)和小规模的大模型(6B、LLaMA2)都是通用 LLM 通用 LLM 都是通过常识进行预训练的 在实际使用过程中,需要 LLM 具备某一特定领域知识的能力 - 对 LLM 的能力进行增强 增强方式 Method Desc 微调 让预先训练好的 LLM 适应特定任务或数据集的方案,成本相对低LLM 学会训练者提供的微调数据,并具备一定的理解能力 知识库 使用向量数据库或者其它数据库存储数据,为 LLM 提供信息来源外挂 API 与知识库类似,为 LLM 提供信息来源外挂 互不冲突,可以同时使用几种方案来优化 LLM,提升内容输出能力 LoRA / QLoRA / 知识库 / API LLM Performance = 推理效果 落地过程 Method Pipeline 微调 准备数据 -> 微调 -> 验证 -> 提供服务 知识库 准备数据 -> 构建向量库 -> 构建智能体 -> 提供服务 API 准备数据 -&g...
LLM Deploy - ChatGLM3-6B
LLM 选择核心玩家 厂家很多,但没多少真正在研究技术 - 成本 - 不少厂商是基于 LLaMA 套壳 ChatGLM-6B ChatGLM-6B 和 LLaMA2 是比较热门的开源项目,国产 LLM 是首选 企业布局 LLM 选择 MaaS 服务,调用大厂 LLM API,但会面临数据安全问题 选择开源 LLM,自己微调、部署、为上层应用提供服务 企业一般会选择私有化部署 + 公有云 MaaS 的混合架构 在国产厂商中,从技术角度来看,智谱 AI 是国内 LLM 研发水平最高的厂商 6B 的参数规模为 62 亿,单张 3090 显卡就可以进行微调和推理 企业预算充足(百万以上,GPU 费用 + 商业授权) 可以尝试 GLM-130B,千亿参数规模,推理能力更强 GLM-130B 轻量化后,可以在 3090 × 4 上进行推理 训练 GLM-130B 大概需要 96 台 A100(320G),历时两个多月 计算资源 适合 CPU 计算的 LLM 不多 有些 LLM 可以在 CPU 上进行推理,但需要使用低精度轻量化的 LLM 但在低精度下,LLM 会失真,效果较差 要真正体验并应...
LLM - LangChain + RAG
局限 大模型的核心能力 - 意图理解 + 文本生成 局限 描述 数据的及时性 大部分 AI 大模型都是预训练的,如果要问一些最新的消息,大模型是不知道的 复杂任务处理 AI 大模型在问答方面表现出色,但不总是能够处理复杂任务AI 大模型主要是基于文本的交互(多模态除外) 代码生成与下载 根据需求描述生成对应的代码,并提供下载链接 - 暂时不支持 与企业应用场景的集成 读取关系型数据库里面的数据,并根据提示进行任务处理 - 暂时不支持 在实际应用过程中,输入数据和输出数据,不仅仅是纯文本 AI Agent - 需要解析用户的输入输出 AI Agent AI Agent 是以 LLM 为核心控制器的一套代理系统 控制端处于核心地位,承担记忆、思考以及决策等基础工作 感知模块负责接收和处理来自于外部环境的多样化信息 - 文字、声音、图片、位置等 行动模块通过生成文本、API 调用、使用工具等方式来执行任务以及改变环境 LangChain - 开源 + 提供一整套围绕 LLM 的 Agent 工具 AI Agent 很有可能在未来一段时间内成为 AI 发展的一...
LLM - Prompt
Prompt 是否充分使用好 AI 大模型,提示是关键 OpenAI question / answer prompt / completion - 给 LLM 一个提示,让 LLM 进行补全 LLM 训练原理 GPT 系列模型基于 Transformer 架构的解码器机制,使用自回归无监督方式进行预训练 训练过程 - 大量的文本输入,不断进行记忆 相比于监督学习,训练效率更低,但训练过程简单,可以喂大量的文本语料,上限比较高 completion 根据训练过的记忆,一个字一个字地计算概率,取概率最大的那个字进行输出 因此有人吐槽 LLM 输出很慢 - 逐字计算并输出 Prompt Engineering 需求描述越详细越准确,LLM 输出的内容就越符合要求 Prompt Engineering 是一门专门研究与 LLM 交互的新型学科 通过不断地开发和优化,帮助用户更好地了解 LLM 的能力和局限性 探讨如何设计出最佳提示,用于指导 LLM 帮助我们高效完成某项任务 不仅仅是设计和研发提示,还包含了与 LLM 交互的各种技能和技术 在实现与 LLM 交互、...
LLM - ChatGPT
Timeline OpenAI 在 NLP 领域取得了突破性进展 ChatGPT 背后包含了一系列的资源整合 - 技术、资源、大厂背书、国际巨头的通力合作 - 工程 + 产品 NLPTransformer 基于 Transformer 架构的语言模型大体可分为两类 以 BERT 为代表的掩码语言模型 - Masked Language Model - MLM 以 GPT 为代表的自回归语言模型 - Autoregressive Language Mode - ALM OpenAI 创造造福全人类的安全通用人工智能 - Artificial general intelligence - AGI 创立之初就摒弃了传统 AI 模型标注式的训练方式 可用来标注的数据总是有限的,而且很难做得非常通用 Autoregressive 基于自回归的无监督训练 BERT 由 Google 发布,非常权威,GPT 早期压力巨大 - GPT-2 引入了 zero-shot 按照人类语言的习惯,语言本身是有先后顺序的,下文依赖上文 自回归语言模型代表了标准的语言模型 - 利用上文信息预测下文 比传...
Kubernetes - Helm Doc
基本概念 Chart 包含在 Kubernetes 集群内部运行的应用程序、工具和服务所需的所有资源定义 Repository 用于存放和共享 Chart Release 运行在 Kubernetes 集群中的 Chart 实例 一个 Chart 可以在同一个集群中被安装多次,每次安装都会创建一个 Release 基本使用Search Source Desc hub 从 Artifact Hub 中搜索 repo 基于本地 repo 搜索,无需联网 hub123456$ h search hub wordpressURL CHART VERSION APP VERSION DESCRIPTIONhttps://artifacthub.io/packages/helm/kube-wordp... 0.1.0 1.1 this is my wordpress packagehttps://artifact...















