Critique生成项目参考论文合集
1.SELFCHECK: USING LLMS TO ZERO-SHOT CHECK THEIR OWN STEP-BY-STEP REASONINGIntroduction之前的方法:
尝试通过检查这些逐步解决方案中的错误,使用这些检查来为答案提供置信度分数,并在不同的可能选择之间进行选择使用外部验证模型进行,或者通过对LLM进行少数样本上下文学习,通常需要额外的训练数据或特定领域的示例问题:在实践中使用不便,并限制了它们在特定领域或数据格式的应用
现在的方法: 零样本逐步检查器,用于自我识别LLM推理链中的错误
SelfCheckselfchecking直接要求LLM检查自己的推理在很大程度上是无效的,无论是直接给原始答案或者给CoT推理中的每一步selfcheck的模型可以是actor模型也可以是单独的模型将各个步骤的检查结果合并为整个解决方案的单个置信度分数,为[0, 1]
SelfCheck将每个步骤的检查任务分解为四个阶段:目标提取(概括这一步的目的)、信息收集(确定步骤的前提,过滤掉与当前步骤不相关的信息)、步骤重新生成和结果比较细节观察: 信息收集的时候给出问题,并 ...
云服务器使用指南
1.配置虚拟环境
12345678910111213141516171819202122232425262728'''确保你的服务器上安装了Python和pip。大多数云服务器镜像都会预装这些工具'''# 更新系统包sudo apt-get updatesudo apt-get upgrade# 安装Python和pipsudo apt-get install python3 python3-pip'''使用pip安装virtualenv'''pip3 install virtualenv'''选择一个目录,然后创建一个新的虚拟环境'''# 创建一个目录用于存放虚拟环境mkdir my_project_dircd my_project_dir# 创建虚拟环境virtualenv my_virtualenv'''如果要指定Python版本,可以使用以下命令''& ...
强化学习-策略学习
基础知识1.策略网络
\pi(\cdot|s_t,\theta)策略网络通过当前的状态得到动作的概率分布2.动作价值函数
Q_{\pi}(s_t,a_t) = \mathbb{E}[U_t|S_t=s_t, A_t=a_t]这里的$U_t$是$t$时刻之后奖励累积的估计$Q_{\pi}$的作用是消除了$s_{t+1}, a_{t+1}$以及以后的变量,通过数学期望来代替他们3.状态价值函数在动作价值函数的基础上,我们再对动作通过策略网络$\pi(\cdot|s_t,\theta)$进行随机抽样
V_{\pi}(s_t) = \mathbb{E}_{A_t \sim \pi(\cdot|s_t,\theta)}[Q_{\pi}(s_t,A_t)]4.目标函数最后,我们再对状态求数学期望,让结果只依赖于状态价值函数中提到的策略网络$\pi(\cdot|s_t,\theta)$
\mathbb{J}(\theta) = \mathbb{E}_S[V_{\pi}(S)]我们的目标是最大化$\mathbb{J}(\theta)$,在此基础上做梯度上升即可5.策略梯度定理我们需要求解$\frac{ ...
MCTS-蒙特卡洛树搜索
这里结合AlphaGo进行讲解
基础定义1.动作空间$\text{A}=\{1,\ldots,361\}$
2.状态定义AlphaGoZero使用$19\times19\times17$表示一个状态第三维中分为最近8步的黑子和白子,还有一维表示黑棋还是白棋
3.策略网络$\pi(a|s;\theta)$通过softmax输出361维的动作概率分布
4.价值网络$v(s;\omega)$这是对状态价值函数$V_{\pi}$的近似
策略网络和价值网络通过同一个卷积网络生成特征向量,然后分别用全连接网络得到最后结果
MCTSMCTS的步骤: 选择,扩展,求值,回溯。这是一轮模拟的过程
第一步: 选择从诸多动作中找几个好的动作进行搜索和评估分值: $score(a)\overset{\triangle}{=}Q(a) + \frac{\eta}{1+N(a)}\cdot \pi(a|s;\theta)$$\eta$是超参数$N(a)$是动作a选中的次数,选中就执行加1操作$Q(a)$初始值为0,并且不断更新的,更新的方式在第四步会说到
公式理解: $\frac{1}{1+N(a)}$鼓励探索, ...
transformers用法学习
学习资料在github网站上找hugging face就可以找到了全英文的教程,如果英语不好的可以去看中文当然我觉得如果是初学者还是从基础的开始,以下是两个适合入门的学习网址:https://transformers.runhttps://github.com/liuzard/transformers_zh_docs/tree/master接下来就是参考这两篇文档提取出来的核心知识点。
通过pipeline进行推理这部分内容用得比较少,先跳过。
使用AutoClass编写可移植代码
架构指的是模型的框架,而检查点是给定架构的权重。例如,BERT是一个架构,而 bert-base-uncased 是一个检查点。”模型” 是一个通用术语,可以指代架构或检查点。
123456'''加载AutoTokenizer,AutoImageProcessor,AutoFeatureExtractor,AutoProcessor,AutoModel分别为预训练的分词器,预训练的图像处理器,预训练的特征提取器,预训练的处理器,预训练的模型''' ...
从gpt1到gpt3.5
文章和课程这篇知乎上的文章和李沐b站上对于gpt1-3的讲解比较类似,这部分内容有transformer基础就可以看。这篇文章结构和内容感觉是看得几篇文章里面比较全面的,从几个gpt模型的结构,到训练数据来源,训练方法,局限性等等角度进行解析,但是对于gpt3的内容讲解比较简略。这里补充一篇gpt3的讲解文章,我认为提到很重要的一点就是gpt3出现的上下文能力(In context learning),解释上下文能力的论文比较复杂,笔者还未学习。
技术创新这里的进化之路中涉及很多技术细节,这里就选取我认为比较重要的部分。
zero,one,few-shotgpt2和gpt3用了这个方法,相比之下gpt1使用预训练后再针对不同任务做微调模型的方法,这样模型的泛化能力就比较差。这里都是不进行任何梯度更新的,和fine-tuning基于标注数据对模型参数进行更新不同。
RLHF参考文章:https://zhuanlan.zhihu.com/p/677607581这篇文章从强化学习的基础开始讲起,比较详细。以下就是个人认为需要关注的技术要点
actor-critic的网络为什么这样使用?建议 ...
llama2解析
笔者也是初学者,一边学习总结一边写这篇文章。
一、学习资料代码代码地址:https://github.com/DLLXW/baby-llama2-chinese
网络课程和文章课程地址:https://www.bilibili.com/video/BV12h4y1N7C8/?spm_id_from=333.337.search-card.all.click&vd_source=cd8ea6c3c8b0bf72de553b1586baad87
知乎文章:https://zhuanlan.zhihu.com/p/649756898
学习群聊qq:716455397 baby-llama2-chinese
二、知识要点模型搭建阶段
在normal上的操作与transformer不同,llama2用的是RMSNorm方法(注意这里是对整个句子规范化,不是对一个词向量进行规范化)为什么要规范化?
linear层产生多头注意力Q,K,V矩阵
ROPE 操作: 通过绝对位置编码的方式实现了相对位置编码绝对位置编码—>旋转位置编码具体证明和介绍的文章:https://zhuanlan.z ...
强化学习总结
一、学习资料网络课程本人在b站上看过吴恩达,莫烦python,台大李宏毅,王树森等人有关强化学习方面的课。从个人的角度来说最推荐王树森的课。
李宏毅的口音以及课程录制的质量可能对部分人没有那么适应,吴恩达的课对英语不够好的人来说听起来效率没有那么高(我个人不怎么喜欢看中英字幕),莫烦python有许多简单的强化学习的实践项目,但是对于强化学习这部分内容的讲解过于简单。
然后,来说一下王树森课程的优势。首先是口音清晰,这一点是很多b站课程都做不到的事情。其次,讲解的逻辑很严谨,基本概念会反复出现在每一个part里面。最后,有完整数学证明推导过程,而且讲得很容易让人听懂。
课程地址:https://www.bilibili.com/video/BV12o4y197US/?spm_id_from=333.337.search-card.all.click&vd_source=cd8ea6c3c8b0bf72de553b1586baad87
书目这里还是推荐王树森的《深度强化学习》
下载地址:https://github.com/wangshusen/DRL/blob/master/N ...
我的第一篇博客文章
本来想着学期初期比较有空,正好想起来去建一个网站总结自己csai学习的过程。所以我的第一篇博客文章就是关于如何建一个简单的网站,当然域名配置的事情目前还没有整。
当然在学习建之前,需要想通一个问题,为什么要建立自己的博客。于我而言的意义写在我的个人主页上了。当然,我也想过另一个问题,现在已经有强大的chatgpt4了,有什么不会的问题直接问chat不就可以了?考虑到这一点,我的个人博客就不会涉及到很多具体的知识点,而是处理一些问题优质的资料推荐。当然随着学习的深入,很多东西就要开始自己去总结了。
这里我建立博客完全是按照这个b站视频的步骤完成的,这个视频说得非常详细。
视频地址:https://www.bilibili.com/video/BV1Yb411a7ty/?spm_id_from=333.337.search-card.all.click
然后,我们就可以基于视频中所用的模版进一步优化完善自己的界面,主要是关于_config.yml文件的修改,这里我基本上没有再查找别的资料,而是直接问chatgpt逐步完善了功能,例如:头像,评论等等。这里就提一个要点,修改都要在source ...