- 博客(93)
- 资源 (4)
- 收藏
- 关注
翻译 思考高质量的人类数据【译】
原文:Thinking about High-Quality Human Data**高质量的数据是现代深度学习模型训练的燃料。**大多数任务特定的标记数据来自人工注释,例如分类任务或 RLHF 标记(可以构建为分类格式)用于LLM对齐训练。后期的许多 ML 技术可以帮助提高数据质量,但从根本上讲,人类数据收集涉及对细节的关注和谨慎的执行。人们知道高质量数据的价值,但不知何故,我们有这种印象:“每个人都想做模型工作,而不是数据工作”(Sambasivan 等人,2021 年)。图 1. 实现高数据质量的两种
2024-08-20 22:48:52
211
翻译 大模型幻觉的原因分析和缓解方法
OpenAI 的华人科学家翁荔在其最新的 Blog 中,提出了大型语言模型(LLM)的 “外在幻觉” 问题。她将 LLM 的幻觉问题具体化为模型输出内容是虚构的,并且不基于所提供的上下文或世界知识。上下文内幻觉:模型的输出应该和上下文里的内容一致,但有时输出和上下文内容不一致,这就叫上下文内幻觉。外在幻觉:模型的输出应该基于之前预训练的数据集,然而,由于数据集很大,每次生成内容时去检索和识别冲突的成本很高。
2024-08-20 20:12:32
424
原创 将 HuggingFace 模型转换为 GGUF 及使用 ollama 运行 —— 以 Qwen2-0.5B 为例
GGUF 格式的全名为(GPT-Generated Unified Format),提到 GGUF 就不得不提到它的前身 GGML(GPT-Generated Model Language)。GGML 是专门为了机器学习设计的张量库,最早可以追溯到 2022/10。其目的是为了有一个单文件共享的格式,并且易于在不同架构的 GPU 和 CPU 上进行推理。但在后续的开发中,遇到了灵活性不足、相容性及难以维护的问题。使用ollama create命令创建自定义模型。
2024-08-02 23:14:19
1466
原创 RAG原理、综述与应用全解析【万字长文】
1.1 定义检索增强生成 (Retrieval-Augmented Generation, RAG) 是指在利用大语言模型回答问题之前,先从外部知识库检索相关信息。早在2020年就已经有人提及RAG的概念(paper:Retrieval-augmented generation for knowledge-intensive nlp tasks),首版发布在arxiv于2020年5月,当年还是seq2seq的时代,但实验就已经发现,通过检索,能快速从海量知识中找到和原本问题相关的知识,借助知识带来的信息能提
2024-04-03 14:09:10
5954
2
原创 如何设置transformers的聊天模板chat_template?
如果您喜欢这个模板,下面是一行代码的模板形式,它可以直接复制到您的代码中。如果你对 Jinja 不熟悉,我们通常发现编写聊天模板的最简单方法是先编写一个简短的 Python 脚本,按照你想要的方式格式化消息,然后将该脚本转换为模板。在为已经训练过的聊天模型设置模板时,您应确保模板与模型在训练期间看到的消息格式完全匹配,否则可能会导致性能下降。然而,请注意 Jinja 是一个通用的模板引擎,它可能会将同一行上块之间的空格视为重要,并将其打印到输出中。即使默认的聊天模板适用于您的模型,
2024-01-31 14:24:35
6376
1
翻译 ChatGPT能解决指代消解吗?
介绍下指代消极问题,英文称为Winograd Schema Challenge (WSC),是为了测试AI模型的常识推理而引入的,它一般是在一个句子中找到代词指代的对象,推理过程中需要用到世界知识和常识。下面是该问题是例子:市政府拒绝给示威者颁发游行许可证,因为[担心/鼓吹]暴力事件。谁[担心/鼓吹]暴力事件?答案: 市政府/示威者奖杯无法放进到棕色的箱子里,因为它太[小/大]了。什么东西太[小/大]了?答案: 箱子/奖杯。
2024-01-30 17:25:18
340
原创 Stable Diffusion 文生图技术原理
DDIM(Denoising Diffusion Implicit Models,去噪扩散隐式模型),DDIM和DDPM有相同的训练目标,但是它不再限制扩散过程必须是一个马尔卡夫链,这使得DDIM可以采用更小的采样步数来加速生成过程,DDIM的另外是一个特点是从一个随机噪音生成样本的过程是一个确定的过程。3. 通过反卷积得到的更大的尺寸的特征图的边缘,是缺少信息的,毕竟每一次下采样提炼特征的同时,也必然会损失一些边缘特征,而失去的特征并不能从上采样中找回,因此通过特征拼接,来实现边缘特征找回;
2023-08-25 01:22:56
4400
1
原创 文本匹配模型实验报告-text2vec
目标:在一个类似BERT的预训练语言模型基础上,监督训练一个句向量表征模型,使模型能够在文本语义匹配任务上表现最好。其中,可以利用的标注数据是常见的句子对形式,格式是“(句子1,句子2,标签)”,按照训练encoder的思路,两个句子经过encoder后分别得到向量u,v,由于预测阶段是计算的余弦相似度cos(u,v),所以思路是设计基于cos(u, v)的损失函数,让正样本对的相似度尽可能大、负样本对的相似度尽可能小。
2023-06-20 19:50:13
4755
1
原创 LIMA和QLoRA论文解读
在 1000 个精心策划的样本上对一个强大的预训练语言模型(LLaMa-65B)进行微调,可以在广泛的prompt中产生显著的、有竞争力的结果。然而,这种方法也有局限性:首先,构建这样的样本所付出的脑力劳动是巨大的,而且很难扩大规模。其次,LIMA 并不像产品级模型那样鲁棒,虽然 LIMA 通常会产生良好的反应,但对抗性prompt可能会生成错误的答复。尽管如此,这项工作表明,用简单的方法来解决复杂的对齐问题是有潜力的。
2023-05-28 23:39:24
1785
5
原创 NLP大模型微调答疑
我理解ChatGLM-6B模型是走完 “预训练-SFT-RLHF” 过程训练后的模型,其SFT阶段已经有上千指令微调任务训练过,现在我们只是新增了一类指令数据,相对大模型而已,微调数据量少和微调任务类型单一,不会对其原有的能力造成大的影响,所以我认为是不会导致灾难性遗忘问题,我自己微调模型也没出现此问题。ChatGLM-6B, LLaMA-7B模型分别是60亿参数量和70亿参数量的大模型,基本可以处理所有NLP任务,效果好,但大模型部署成本高,需要大显存的GPU,并且预测速度慢,V100都需要1秒一条。
2023-05-17 22:43:28
9353
11
原创 NLP大模型微调原理
2. 论文《Training Compute-Optimal Large Language Models》研究发现最好的性能不是在最大的模型上,而是在用了更多token的模型上,因此作者认为一个较小的模型训练的时间更长,用的token更多,能达到一样的模型效果,并且在预测时较为便宜(cheaper)。GPT等大型语言模型基于Prompt的zero shot的学习范式有一个很大的问题是,预训练的模型完成的任务是后继文本的预测,这和具体任务的要求有一些偏离,生成的结果也不一定符合人的意图。
2023-05-07 12:03:05
7385
2
原创 文本分类优化方法
文本分类是NLP的基础工作之一,也是文本机器学习中最常见的监督学习任务之一,情感分类,新闻分类,相似度判断、问答匹配、意图识别、推断等等领域都使用到了文本分类的相关知识或技术。文本分类技术在机器学习的发展过程中也不断的进行技术迭代,在开始介绍文本分类优化方法之前,我们先介绍文本分类的技术发展,有助于我们了解文本分类的技术痛点以及文本分类的技术方向。
2022-12-19 18:05:30
2231
原创 中文纠错Pycorrector是如何收获2000 Star的?
(导语)计算机行业发展至今,“开源”已逐渐成为技术茁壮成长最肥沃的土壤。而在中国,企业开源热闹非常,个人开源也方兴未艾。尽管个人开源困难重重,还是有一些开发者仍然在努力做着这样“吃力不讨好”的事情。今天的“开发者说”文章,就来自这样一位个人开发者。他做的文本纠错开源工具pycorrector,当前在GitHub上star数2165,fork数565。pycorrector主要用于音似、形似错字纠正,可用于输入法、OCR、ASR的文本错误纠正,兼容Kenlm语言模型纠错,和深度模型纠错,包括:S.
2021-05-31 17:34:52
1067
2
转载 任务型对话系统研究进展
任务型对话系统介绍我们将对话系统分成四个主要的功能:第一个是任务型对话系统,也可以认为其他都是非任务型对话系统,又可以进一步划分为聊天类、知识问答类,以及推荐类,这几个类型的机器人我们研究中心都在做。我今天主要介绍任务型的对话系统。任务型的对话机器人有很多用处,如智能汽车控制、个人助理等。组成任务型对话系统主要构成包括三模块:第一个模块为自然语言理解(这个名字不是特别好,因为我们做自然...
2018-12-06 19:55:34
2677
原创 竞赛分享-自动文摘(bytecup 2018)
自动文摘(Aduto text summarization)自动文摘,也称自动摘要生成,是NLP中较难的技术,难点很多,至今并没有一个非常让人满意的、成熟的技术来解决这个问题。介绍应用自动文摘技术应用最广的领域在于新闻,由于新闻信息的过载,人们迫切地希望有这么一个工具可以帮助自己用最短的时间了解最多的最有用的新闻。ps:为什么不直接看标题呢?因为很多新闻为了哗众取宠,故意将标题起的特别...
2018-11-09 17:24:18
3497
3
翻译 用于语法纠错的深度上下文模型
用于语法纠错的深度上下文模型徐明 编译论文地址:https://www.isca-speech.org/archive/SLaTE_2017/pdfs/SLaTE_2017_paper_5.pdf相关开源项目:https://github.com/shibing624/pycorrector摘要本文提出了一个基于递归的深层上下文模型。用于语法错误校正的神经网络(RNN)。对于特定的错...
2018-10-24 14:12:21
9286
8
原创 基于文法模型的中文纠错系统
基于文法模型的中文纠错系统徐明 编译论文地址:https://www.anthology.aclweb.org/W/W14/W14-6827.pdf 相关开源项目:https://github.com/shibing624/pycorrector摘要本文介绍了我们的系统在SIGHAN-8 Bake-Off 中的中文拼写检查(Chinese spelling check,...
2018-09-06 00:59:22
16263
3
转载 大数据精准营销中搜狗用户画像挖掘比赛——1st算法分享
作者:李恒超,李裕礞,王安然,钱凌飞,任璐,林鸿飞 ——大大黑楼战队 目录 1. 数据预处理 1.1. 停用词处理 1.2. 分词 2. 特征表示 2.1. Bag of Words 2.2. Word Embedding 2.3. Topical Word Embedding 2.4. Doc2Vec...
2018-06-27 17:23:58
7545
原创 使用kenlm工具训练统计语言模型
一、背景统计语言模型工具有比较多的选择,目前使用比较好的有srilm及kenlm,其中kenlm比srilm晚出来,训练速度也更快,而且支持单机大数据的训练。现在介绍一下kenlm的使用方法。二、使用kenlm训练 n-gram1.工具主页:https://kheafield.com/code/kenlm/ 2.工具包的下载地址:https://kheafield.com/code/ke...
2018-03-14 20:46:05
20234
24
转载 语义角色标注
语义角色标注(Semantic Role Labeling,SRL)以句子的谓词为中心,不对句子所包含的语义信息进行深入分析,只分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate)- 论元(Argument)结构,并用语义角色来描述这些结构关系,是许多自然语言理解任务(如信息抽取,篇章分析,深度问答等)的一个重要中间步骤。在研究中一般都假定谓词是给定的,所要做的就是找出给定谓词的各个论元和它们的语义角
2017-09-22 12:01:41
10748
转载 词向量
本教程来自深度学习框架PaddlePaddle的入门引导。我没有修改前面的理论知识部分,是在后面加入了自己的应用实例便于理解。词向量本教程源代码目录在book/word2vec, 初次使用请参考PaddlePaddle安装教程,更多内容请参考本教程的视频课堂。背景介绍本章我们介绍词的向量表征,也称为word embedding。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互
2017-09-22 11:14:21
3677
原创 Weka高级应用--Java API
1.引入本文是我学习《数据挖掘与机器学习–WEKA应用技术与实践》的笔记。该书电子版的链接是:https://download.csdn.net/detail/fhb292262794/8759397 前一篇博文总结了用Weka演示机器学习的算法处理,主要是通过Weka3.8的客户端软件操作。 本文通过Java API调用来处理,这样就可以在编程中应用Weka的机器学习算法处理数据。本书的实例是用
2017-03-22 15:42:34
8239
1
原创 Weka应用总结
一. 引入本文是我学习《数据挖掘与机器学习–WEKA应用技术与实践》的笔记。该书电子版的链接是:https://download.csdn.net/detail/fhb292262794/8759397全书简单说明了机器学习的分类、聚类、关联的算法原理及实践,在高级应用中说明了贝叶斯网络、神经网络的原理及简单实例应用,还给出了Java Api调用WEKA接口的方法。总体而言该书比较详实,有理论有实践,
2017-03-22 14:28:35
8971
转载 用 WEKA 进行数据挖掘,第 3 部分: 最近邻和程序库
简介在这个 “用 WEKA 进行数据挖掘” 系列之前的两篇文章中,我介绍了数据挖掘的概念。如果您还未曾阅读过 用 WEKA 进行数据挖掘,第 1 部分:简介和回归 和 用 WEKA 进行数据挖掘,第 2 部分:分类和群集,那么请先阅读这两个部分,因为二者涵盖了一些在继续之前必须了解的关键概念。而且更重要的是,在这两个部分中我谈及了数据挖掘中常用的三种技术,它们可以将难以理解的无用数据转变为有意义的规
2017-01-22 19:25:21
1281
转载 用 WEKA 进行数据挖掘,第 2 部分: 分类和群集
**这是系列文章的第二篇,“cluster”翻译为集群有点少见,一般文献叫聚类(cluster)。 接着上一篇文章,回归之后体验WEKA的分类和聚类功能,示例数据可下载(在文章末尾),最新版WEKA 3.8也是一样的操作。**简介在 用 WEKA 进行数据挖掘,第 1 部分:简介和回归,我介绍了数据挖掘的概念以及免费的开源软件 Waikato Environment for Knowledge An
2017-01-22 19:10:53
1457
转载 用 WEKA 进行数据挖掘,第 1 部分: 简介和回归
数据挖掘1:回归应用简介什么是 数据挖掘?您会不时地问自己这个问题,因为这个主题越来越得到技术界的关注。您可能听说过像 Google 和 Yahoo! 这样的公司都在生成有关其所有用户的数十亿的数据点,您不禁疑惑,“它们要所有这些信息干什么?”您可能还会惊奇地发现 Walmart 是最为先进的进行数据挖掘并将结果应用于业务的公司之一。现在世界上几乎所有的公司都在使用数据挖掘,并且目前尚未使用数据挖掘
2017-01-22 18:24:22
1029
原创 距离及相似度度量方法
前言关于距离度量的方法的专题其实已经想做好久了,正好趁这个机会总结出来。这里讨论的距离度量应该是向量空间内的度量,两个点(即两个向量)之间的距离或相似性的度量。每种度量包括描述、定义和公式、优缺点、应用等部分。本文涵盖一下几个度量方法:欧氏距离; 曼哈顿距离; 切比雪夫距离; 闵可夫斯基距离; 标准化欧氏距离; 马氏距离; 巴氏距离 汉明距离; 夹角余弦; 相关系数与相关距离。
2016-12-22 17:51:48
16764
1
原创 Bootstrap,Bagging,Boosting
Bootstrap(自助法)引入Bootstrap,即“自助法”,是用小样本来估计大样本的统计方法。核心思想子样本之于样本,可以类比样本之于总体思想解析举个栗子 你要统计你们小区里男女比例,可是你全部知道整个小区的人分别是男还是女很麻烦对吧。 于是你搬了个板凳坐在小区门口,花了十五分钟去数,准备了200张小纸条,有一个男的走过去,你就拿出一个小纸条写上“M”,有一个女的过去你就写一个“
2016-12-21 22:45:33
1191
原创 经典算法题15-稀疏矩阵及三元组
一. 引入我们知道矩阵是一个非常强大的数据结构,在动态规划以及各种图论算法上都有广泛的应用。当然矩阵有着不足的地方就是空间和时间复杂度都维持在N²上,比如1w个数字建立一个矩阵,在内存中会占用1w*1w=1亿的类型空间,这时就会遇到outofmemory。。。那么面临的一个问题就是如何来压缩矩阵,当然压缩的方式有很多种,这里就介绍一个顺序表的压缩方式:三元组。二. 介绍三元组有时候我们的矩阵中只有零
2016-12-07 16:45:09
6300
原创 经典算法题14-外排序
引入我们要处理一个大文件,对其中的数值排序,一般我们想到的方法就是用排序算法,像快速排序、归并排序、选择排序、堆排序、冒泡排序等。但是这些排序算法使用的前提是需要把数据读入到内存,现在大文件太大,内存装不下,如何处理?这时我们就要用外排序(External sorting)。介绍外排序是指能够处理极大量数据的排序算法。归并(merge)排序算法中用到了分治思想,一个大问题我们可以采取分而治之,各个突
2016-12-02 12:28:31
771
原创 经典算法题13-并查集算法
这一篇我们看看经典又神奇的并查集,顾名思义就是并起来查,可用于处理一些不相交集合的秒杀。一. 问题有时候我们会遇到这样的场景,比如下面这道题,杭电1232畅通工程:畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 48855 Ac
2016-11-30 14:42:19
1293
原创 Java集合类
List vs SetList特点:存入顺序和取出顺序一致,存储的元素可以重复。 Set特点:元素的顺序无序且唯一,即无序性和唯一性。HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放。 LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代。 TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序
2016-11-23 21:30:55
1289
原创 Java的transient关键字
transient说明transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。用处Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它,可以在这个域前加上关键字transient。 当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而
2016-11-23 21:02:38
522
转载 Java的native关键字
native说明native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。JNI接口JNI是Java本机接口(Java Native Interface),是一个本机编程接口,它是Java软件开发工具箱(Java Softwar
2016-11-23 20:37:52
369
原创 经典算法题12-贪心算法
一. 引入在日常生活中,经常遇到找零钱的问题。假设1元、2元、5元、10元、20元、50元、100元的纸币分别有c0, c1, c2, c3, c4, c5, c6张。现在要用这些钱来支付K元,至少要用多少张纸币?很显然,每一步尽可能用面值大的纸币即可。这就是日常生活中贪心算法思想的使用。二. 概念百度百科的定义是: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。
2016-11-21 21:23:39
1874
原创 经典算法题11-Huffman编码
一. 引入赫夫曼(Huffman)树又称最优二叉树,也就是带权路径最短的树。二. 概念有几个概念,在wiki上也有说明:节点的权: 节点中红色部分就是权,在实际应用中,我们用“字符”出现的次数作为权。路径长度:可以理解成该节点到根节点的层数,比如:“A”到根节点的路径长度为3。树的路径长度:各个叶子节点到根节点的路径长度总和。赫夫曼树也就是带权路径长度最小的一棵树。三.示例构建Huffman
2016-11-17 09:41:14
2540
原创 隐马尔科夫模型(Hidden Markov Model,HMM)
wiki上有定义:隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。
2016-09-01 17:59:44
18137
8
翻译 理解Java 8 Streams API,Collector,Parallelism
前言本文是主要介绍Java 8针对新增语言特性而新增的类库(例如Streams API、Collectors和并行)。本文是对Brian Goetz的State of the Lambda: Libraries Edition一文的翻译。Java SE 8增加了新的语言特性(例如lambda表达式和默认方法),为此Java SE 8的类库也进行了很多改进,本文简要介绍了这些改进。在阅读本文前,你应该
2016-08-24 08:56:01
2226
翻译 理解Java 8 Lambda
前言为什么要写(翻译)本文?工作之后,我开始大量使用Java公司将会在不久的未来使用Java 8作为资质平庸的开发者,我需要打一点提前量,以免到时拙计为了学习Java 8(主要是其中的lambda及相关库),我先后阅读了Oracle的官方文档,Cay Horstmann(Core Java的作者)的Java 8 for the Really Impatient和Richard Warburt
2016-08-23 20:16:42
893
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人