自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 对Transformer的一些改进研究总结

而一般情况下gain采用默认值即1,fan_in代表要初始化参数的输入维度(通常是第1维),fan_out代表输出维度(通常是第0维),本例中都是d,因此最终。,我们都知道x在上一层网络输出前的最后一步都要做Layer_Norm,以将上一层网络输出的残差连接结果变换到。1、常有人问:Transformer中Attention的q、k之间项乘后,为什么要再除以。答案往往是:q、k相乘后的结果分布会发生改变,需要用。我们先来思考q、k中值的分布是什么样子,这里拿。分布,即q、k中的每一个值(

2023-07-23 16:20:08 910

原创 ChatGPT prompt结果采集时,不要忽视上下文的作用!

根据给定的句子 “陕西咸阳一海底捞男员工”,以下是一种可能的机器同传翻译:句子1: “陕西咸阳”,句子2: “一海底捞”,句子3: “男员工”。可见“这个寺庙地区”和“是一片茂密的森林”被合理地切分开了,而如果切分形式为“这个寺庙地“和”区是一片茂密的森林”就不正确了,因为“地区”是一个整体词,不能切分;不是说好了返回句子的分段吗,怎么给了3个句子的译文同义转述了?

2023-07-19 14:39:43 249

原创 ChatGPT背后的技术:强化学习与RLHF

最近,以ChatGPT为主的超大语言模型相继出现,在人类语言理解及对话方面都表现出了卓越的效果。ChatGPT通过In-Context Learning和Chain-of-thought(COT)等一系列包含指令的任务获得逻辑能力,能够更准确、更可靠地理解和执行各种形式多变的任务。ChatGPT的背后拥有较为完备的技术方案体系,包括instruction tuning、loss中的RLHF等,本文对这些关键技术和理论进行总结。

2023-07-19 14:29:18 121

原创 旋转位置编码RoPE总结

Rotary Position Embedding (RoPE)可谓是今年Transformer模型改进中的一大热门内容,在大模型时代,RoPE在LLaMA、ChatGLM、Palm中得到应用,并证明其有效性。RoPE的诞生可以追溯到2021年,由苏剑林大神在《RoFormer: Enhanced Transformer with Rotary Position Embedding》首次提出,有效地改善了传统位置编码不能很好地捕捉相对位置的问题,同时也为长度外推提供了可扩展性。Markdown。

2023-07-14 11:22:34 3139

原创 神经机器翻译中的关键技术

由于从事神经机器翻译工作有一定时间了,也算对这个任务有了初步的认识和理解吧,因此开一篇文章总结一下机器翻译任务用到的一些基本算法和优化方法。旨在帮助新人们更快、更系统地入门;同时对于从事这个行业的人员来说,也作为一份方法大全,为算法人员提供指引,帮助巩固各种要点。

2023-05-27 23:00:51 791 2

原创 模型训练检测方案

总体而言,本文提出的监测方案在实现上并不复杂,代码开发量也很少。但是这套功能确实在模型训练中扮演了重要角色,帮助我排查了很多异常问题,因此欢迎有兴趣的小伙伴们尝试使用。

2023-05-09 12:19:26 324

原创 “指尖上的优化器”---训练优化器技术浅谈

“优化器“这一概念相信对于CVer、NLPer们并不陌生,是当今神经网络模型训练时的必备部件,几乎所有的深度学习算法研究、执行都会涉及到优化器的改良或使用。本文介绍现有的优化器技术及其性能分析。

2023-04-23 14:52:34 375

原创 Batch采样策略的优化

Batch Size解释为模型训练时一次采样得到的样本数,是机器学习或深度学习任务中的常见超参数。本文介绍Batch Size在不同训练模式下的量化标准,以及按Token量化的Batch Size下如何优化采样策略,使Epoch训练加速。

2023-04-20 15:42:03 849

原创 泊松片段抽取---命中率的一般求解方法

在《机器翻译专用词实践总结》一文中,我们提出了一种基于泊松分布的目标片段抽取方法,并利用该方法批量加工词约束的专用词模型训练语料。还记得当时文中提出了一个问题,就是如何求序列中任意。当时介绍说这个概率的计算公式是一种递推形式,本文我们来探讨下这个递推公式及其背后的常用思想----动态规划。为3.5的泊松片段抽取算法中,对于序列中任意位置的词。就是泊松分布在(i-n)的概率函数。的位置上可以从第1步开始执行,则从。相信有些读者看出来了,式子中。

2023-04-17 20:45:32 133

原创 机器翻译专用词开发实践

机器翻译任务是自然语言处理中的核心任务之一,在国际交流频繁的当今发挥着重要作用。而机器翻译中目前有很多有待优化的子问题,其中“专用词优化”是重要问题之一,也为NMT算法优化带来挑战。本文总结博主最近做专用词开发时的经验。

2023-04-13 13:08:59 255

原创 ASR流式翻译开发总结

流式翻译即流数据形式的翻译系统,区别于普通NMT系统在于流式数据是实时的、不完整的,一般流式数据的来源是语音转文字、对话系统反馈或其他流式翻译系统的反馈,算法需要在源源不断的数据流中利用合理的规则决定暂存/翻译/回退等操作,能够高质量、低延迟地给予译文。

2023-03-31 10:15:40 359

原创 对Pytorch中张量及求导操作的总结

Pytorch张量及求导操作总结及分享。

2023-03-06 23:02:24 454

原创 onnx模型转化总结

pytorch模型onnx总结

2022-08-30 20:04:31 476 2

原创 Tokenizer那些事儿

BPE词表相关知识

2022-07-20 17:03:05 393

原创 翻译任务中的BPE词表实践总结

BPE词表构建

2022-07-11 17:08:03 801

原创 对Python中bytes的学习心得

Python基本技能的学习,对bytes的理解和体会。

2022-07-02 22:08:46 474 1

原创 算法题(6)最长公共子序列

最长公共子序列问题描述: 给定两个不为空的字符串或数列,求出这两个字符串或序列最长的公共子序列。思路: 最长公共子序列和最长公共子串概念不同,子串要求必须为连续,而子序列则不要求连续性,只需保证公共子序列每一个字符的先后顺序在两个字符串或序列中一致即可。因此,我们在公共子串的基础上做一定修改,递推公式作如下改变:f(i,j)={0A[i]≠B[j]∩i=0 ∩ j=01A[i]=B[j]∩i=0 ∩ j=0f(i,j−1)A[i]≠B[j]∩i=0&nbsp

2021-02-05 17:16:32 271

原创 算法题(5)最长公共子串

最长公共子串问题描述: 给定两个不为空的字符串,求这两个字符串之间最长的公共子串。思路: 我们借助动态规划的思想,利用递推公式起始向后逐步计算两个字符串的部分最长公共子串,直至得出整体的最大子串。递推公式如下:f(i,j)={0A[i]≠B[j]∩(i=0 ∪ j=0)1A[i]=B[j]∩(i=0 ∪ j=0)f(i−1,j−1)+1A[i]=B[j]max(f(i,j−1),f(i−1,j)A[i]≠B[j]f(i,j)=\begin{cases} 0

2021-02-05 16:53:21 225

原创 Levenshtein编辑距离算法的改进---剪枝优化

Levenshtein编辑距离算法的改进—剪枝优化  我们在先前的一篇博客中已经阐明了Levenshtein编辑距离算法,首先介绍算法的思想,后来介绍了根据跳转列表生成所有编辑方案的方法,并通过附带的代码来解决这些问题。本文中我们继续探讨Levenshtein编辑距离算法,引入了剪枝思想来更高效的生成编辑距离状态表。  首先我们给出一张编辑距离表,如下所示:Edit-Dist<\b>kitten<\b>0123456s11

2021-01-17 16:47:12 1482 4

原创 算法题(4) 最大连续子数组和及子数组

最大连续子数组和问题描述: 给定一个不为空的数组,数组中一个元素或多个连续元素和称为连续子数组和,找出给定数组中连续子数组和的最大值。思路: 本题的思路有很多种,本文探讨三种最常用的解法,时间复杂度也各不相同。前两种通过暴力搜索的方式实现,时间复杂度为O(N3)O(N^3)O(N3)和O(N2)O(N^2)O(N2),效率较为低下;第三种方法采用的是“加入&抛弃”思想,仅需要遍历一次数组即可计算最大子数组和,时间复杂度为O(N)O(N)O(N)。下面我们逐一讲解。一、三重循环暴力搜索  三重

2021-01-17 12:31:30 363

原创 算法题(3) Levenshtein编辑距离和编辑方案

Levenshtein编辑距离  问题描述:在应用领域中,经常会遇到对两个字符串进行比较的问题,比如在自然语言处理中,需要比较两个句子的相似度,高级点的方法有神经网络、TF-IDF文本相似度等,最基础的方法就是编辑距离了,最初它是由俄罗斯科学家Vladimir Levenshtein在1965年提出来的。它的解释是给定一个原字符串和一个目标字符串,计算将原字符串修改为目标字符串时所编辑的最小次数。编辑可以是“增加”、“删除”和“修改”三种。  思路:本题需要动态规划思想,即对两个长字符串分别由小到大“部

2021-01-14 19:48:42 721 2

原创 算法题(2) 八皇后问题

八皇后问题  问题描述:八皇后问题是由国际西洋棋棋手马克斯·贝瑟尔于1848年提出的问题,其表述为:在8×8的标准国际象棋棋盘上摆放8个皇后,使任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。  思想:不难想出,符合要求的摆法一定是每行有且仅有一个皇后棋子。因此从第一行开始,尝试在每一行的每个位置摆放皇后,每摆放一次便检查已经摆放的所有棋子是否符合要求,符合时继续摆放下一个棋子,否则调整当前棋子。  代码实现如下:# encoding=utf-8class empresses(

2021-01-14 15:32:32 144 2

原创 Transformer与BERT宝典

Transformer和BERT宝典,你想知道的都在这里,收藏这一篇就够了!

2021-01-13 14:36:29 2497

原创 算法题(1) 二叉树遍历算法(递归与非递归)

栈结构下的二叉树遍历算法总结(代码后续完成)学习目标:本文章为大家梳理一下非递归的二叉树遍历算法设计流程,方便大家有一个直观的了解。一、引言二叉树的遍历想必大家都已经很熟悉了,二叉树主要分前序遍历、中序遍历、后续遍历和层次遍历四种迭代方式,相关的算法设计我们也能熟练掌握。在日常算法设计中,我们一般采用递归算法的思想来完成二叉树的四种遍历。本文带大家一起总结一下二叉树的非递归遍历算法流程,包含二叉树的前序、中序和后序遍历序列算法。二、递归算法回顾递归是算法设计中的一个重要思想,其包含两个基本部分:

2020-12-18 14:49:43 527

原创 分词语料实用格式处理脚本

从BMES格式向切分形式转换:`#! /usr/bin/python-- coding:UTF-8 -fo = open(“train”, “r” , encoding = “UTF-8”)fo2 = open(“train.txt”, “a” , encoding = “UTF-8”)str = fo.readlines()for st in str :if len(st) == 1...

2019-06-22 11:34:34 849

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除