任务内容

完成任务截图



【RAG】使用Llamaindex框架部署InternLM2-1.8B
xtuner 是较新的框架,InternLM2-Chat-1.8B 训练数据库中未收录相关信息,使用 RAG 前问答均未给出准确答案,使用后能获得想要的答案。在 Intern Studio 服务器上部署 LlamaIndex:
Intern Studio 界面,点击 创建开发机 配置开发机系统。开发机名称 后,点击 选择镜像 使用 Cuda11.7-conda 镜像,在资源配置中选择 30% A100 * 1 的选项,立即创建开发机器。conda 环境,命名为 llamaindex,运行以下命令:1 | conda create -n llamaindex python=3.10 |
环境激活后,命令行左边会显示当前环境名称。
安装 LlamaIndex 和相关的包:
1 | conda activate llamaindex |
新建一个 python 文件,贴入以下代码:
1 | import os |
在 /root/llamaindex_demo 目录下执行该脚本自动开始下载。
【Prompt Engineering】LangGPT结构化提示词编写
在日常使用大模型时,我发现它经常在数字比对这类基础问题上出错,并且输出结果很不严谨。为了解决这个问题,我尝试使用Prompt Engineering,并在网上找到了一个开源的「结构化提示词框架」-- LangGPT,以下是我的使用过程记录。
step0:前期准备
创建虚拟环境->激活虚拟环境->安装必要包文件
创建项目路径->进入项目
安装必要软件,如tmux
step1:模型部署模型下载->部署模型为OpenAI server->图形化界面调用
step3:langgpt结构化提示词编写
偷懒大法:GPTS有LangGPT提示词专家,用大模型生成即可
tmux可以在终端中创建终端,将进程维持在后台。
1 | # 创建环境 |

1.创建demo文件夹,用于存放代码。并创建 cli_demo.py文件
1 | mkdir -p /root/demo |

其中cli_demo.py 的代码为:
1 | import torch |

在现代人工智能技术的迅猛发展浪潮中,书生·浦语大模型全链路开源开放体系以其独特的优势和卓越的性能,在各个领域中不断取得突破性进展。本文将详细介绍该体系的发展历程、最新版本的特征、基于规则、模型和反馈的数据生成方法,以及mind search项目、开源数据提取工具和预训练框架、EXTINA的评测和部署、知识管理工具等各个方面的应用与优化策略。
书生·浦语大模型开源开放体系在多个方面表现出色,包括数据收集整理、模型训练、微调、评测和搜索引擎AI应用的部署等方面。最新版本书生·浦语大模型2.5在推理能力和短期记忆等方面有质的飞跃,并开放了label LLM项目,方便标注数据。此外,视频还介绍了模型的性能天梯和应用前景。
书生浦语大模型开源开放体系
InputLM2.5性能飞跃
迭代发展过程中的数据驱动模型性能
反映模型的数据生成方法在模型优化和训练过程中至关重要,以下是一些关键方法的介绍:
基于模型的反馈数据生成方法:包括相似度对齐和基于反馈的强化训练。
大海捞针实验:介绍模型的推理能力和大海捞针实验,模型在处理稀长背景知识的表现。
问题匹配分块:介绍问题匹配分块的方法,可以用于语言模型的索引和问题理解。
请用Python实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
1 | """ 请用Python实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。 |
请使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。
1.首先重命名debug命令
在bashrc配置文件中输入:
alias pyd='python -m debugpy --wait-for-client --listen 5678'
再输入保存命令:
source ~/.bashrc

统计学领域名声赫赫的SVM与核方法是时至今日仍在高频使用的经典算法。
对本章各节知识点进行汇总,主要分为引入原因,原理思想,和一些思考,对于数学推导内容介绍较少,有需要的可以先阅读西瓜书,再参考南瓜书的数学推导。
大部分都是规划类、最优化的问题,最好先进行相关知识的学习。
这里推荐一本书:最优化:建模、算法与理论 (刘浩洋 户将 李勇锋 文再文)
在线性可分的条件下,我们在训练集做分类任务时,最基本的想法就是在样本空间中找到一个超平面进行划分,
但是对于分类任务,我们可以画出很多个超平面,这时候就需要引入损失函数,对超平面进行选择,而使得两个异类支持向量的距离最大化,就是我们所说的支持向量机的基本型。
1943年一直沿用至今的M-P神经网络模型
将输入神经元的x乘上相应权重w并求和,将结果与阈值$\theta$做差,再经过激活函数f得到输出值y
阈值(threshold / bias):
表示神经元电位超过阈值则被激活
激活函数(activation function):也称挤压函数或响应函数,用于将输入值映射为0/1或(0,1)
通过训练模型,得出合适的w和$\theta$,其中训练算法最常见的就是下面会说到的BP算法
决策树使用递归实现,而递归终止条件有以下三种:
当前结点所有样本属于同类,无需划分
当前属性集为空,无法划分,选取此节点中数量更多的标记作为类别标记
当前样本集为空,不能划分,依据父节点中数量更多的标记作为类别标记
1.纯度:同类聚集程度高、不同类越分散,则纯度越高
2.信息熵:纯度的量化指标,来源于信息论
3.剪枝:防止决策树过拟合,减去部分划分属性。分为预剪枝和后剪枝
信息熵计算公式:
$$ E n t ( D ) = - \sum _ { k = 1 } ^ { | y | } p _ { k } \log _ { 2 } p _ { k }$$
信息熵用于衡量信息的不确定性或信息的混乱程度,我们可以将其用于量化纯度
信息熵越大,数据分布越均匀、随机、杂乱无章,明显这不是我们想要的。我们想要的是相同类靠近,不同类远离的效果,即需要越小的信息熵
$p_k$表示选到k类别的概率,而 $-\log _ { 2 } p _ { k }$则表示信息量
1 | 我们可以理解对于某一事件,其发生的概率越小,那么其信息量越大;发生的概率越大,那么其信息量越小。所有对两者求期望即得到信息熵。 |
注意:此处计算公式里的Y的输出值种类,如二分类问题中Y=2
1.序关系
有序:属性之间可进行相对比较(如大、中、小)
无序:属性之间不可进行相对比较(如南瓜、西瓜、冬瓜)
2.符号arg与s.t.
arg:即argument(参数),用于表示求出指定函数时的**参数取值**
例如:
arg min 就是使后面这个式子达到最小值时的 变量的取值
arg max 就是使后面这个式子达到最大值时的 变量的取值
s.t.:即subject to,意思是受限于...,后面紧跟约束条件
3.闭式解
也叫做 解析解,
闭式解就是一些严格的公式,给出任意的自变量就可以求出其因变量,也就是问题的解
南瓜书中说闭式解是指可以通过具体的表达式解出待解参数