自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CS创新实验室

计算机科学、人工智能、数据分析和大数据方向的研发和教学

  • 博客(231)
  • 收藏
  • 关注

原创 《机器学习数学基础》补充资料汇编

《机器学习数学基础》补充资料汇编

2025-03-13 08:56:15 500

原创 Python 代码质量:最佳实践与工具(2)

通常,这些规范主要是表面上的(即与代码外在形式相关),这意味着它们不会改变代码的逻辑结果,尽管某些风格选择确实可以防止常见的逻辑错误。是一个过程,开发者在将代码合并到主分支或生产代码库之前,相互检查和评估彼此的代码,以确保其符合质量标准。当然,此表格并未详尽列出实现代码质量的所有策略、技术和工具,但它提供了一个良好的起点。它不仅改进了被审查的代码,还帮助开发者成长、学习,并在整个团队中共同推动编码标准和最佳实践的实施。这是一个通常添加到软件项目根目录中的文档,通常是简短的指南,提供有关项目的必要信息。

2025-04-08 14:25:49 600

原创 LLM(14):模型的长序列问题

如果你不熟悉 RNNs,不用担心——不需要详细了解 RNN 的工作原理就能跟随此处的讨论,这里的重点放在编码器-解码器的一般概念上。编码器在每一步更新其隐藏状态(隐藏层中的内部值),试图将整个输入句子的意思传给最后一个隐藏状态中,如图 3.4 所示。虽然我们不需要了解这些编码器-解码器结构的 RNN 的内部工作原理,但这里的关键思想是,编码器部分将整个输入文本处理成一个隐藏状态(记忆单元)。编码器-解码器 RNN 的一个重大局限性在于,在解码阶段,RNN 无法直接访问编码器中较早的隐藏状态。

2025-04-08 08:49:35 112

原创 数据结构:用生活中的例子解释 AOE 网中活动的最早和最迟开始时间的含义和计算方法

ES 的本质:活动的 “起跑线”,由所有前置任务的最长耗时路径决定。ES 的意义:确保活动不会早于所有前置任务完成的时间开始。关键活动:ES=LS,无缓冲时间,一旦延迟直接影响总工期。LS 的本质:活动的 “最后通牒时间”,超过这个时间开始会导致总工期延误。LS 的意义:帮助识别哪些活动可以适当延迟(非关键活动),哪些必须严格按时(关键活动)。计算逻辑:从终点倒推,确保每个活动的 LS 不影响后续活动的 LS。

2025-04-07 15:04:49 332

原创 数据结构:通俗解释AOE 网中事件的最早发生时间和最迟发生时间

用浅显的语言解释AOE网中事件的最早和最迟发生时间的含义

2025-04-07 12:51:18 497

原创 Python 代码质量:最佳实践与工具(1)

如何编写高质量代码

2025-04-06 14:48:42 871

原创 深度学习中的 Batch 机制:从理论到实践的全方位解析

详细解释 batch_size 的设置艺术

2025-04-04 15:17:50 852

原创 检查 Python 中的可迭代对象是否相等

比较可迭代对象是否相等的方法

2025-04-04 11:32:06 821

原创 数据结构:手工创建表达式树的方法

创建表达式树的方法

2025-04-04 10:39:52 917

原创 LLM(13):词编码后的位置

解决词嵌入向量中不同位置的词的 token 在向量中位置相同的问题

2025-04-04 10:32:11 1127

原创 MCP(Model Context Protocol,模型上下文协议)深度解析

在科技的不断演进中,大语言模型的应用范围越来越广泛,但传统API集成方式却如同一个混乱的拼图,每个服务都需要单独开发适配代码,这不仅增加了开发的复杂性和成本,还限制了大语言模型的灵活性和扩展性。MCP的出现,就如同给这个混乱的局面带来了一盏明灯。MCP类似于“AI领域的USB - C接口”,这一形象的比喻生动地说明了它的统一和兼容性。在计算机硬件领域,USB - C接口凭借其统一的标准,让各种设备能够方便快捷地连接和交互。同样,MCP通过统一协议,解决了传统API集成的碎片化问题。

2025-03-31 08:45:44 952

原创 数据结构:通过 PM 值计算 next 表

可以通过计算它所有子串的真前缀和真后缀的交集,并且找出交集中最长字符串的长度值,这个值称为 PM 值(Partial Match,部分匹配值)。,相应地得到下面的 PM 表,并将 PM 值向右移动一个位置,得到 next 数组值,同时令。这种方式是《数据结构》教材(严蔚敏,人民邮电出版社,2015年2月第2版)中所采用的,令。应向右移动的 2 个字符,结合图 7.4.4,可知模式串向右移动的位数。对应的 PM 值转化为下面的表格,即 PM 表。,即再次向右移动 3 个字符,并进入下一轮匹配。

2025-03-30 14:50:59 1103

原创 LLM(12):创建 token 嵌入

为大模型训练准备 token 嵌入向量

2025-03-30 14:37:49 1127

原创 数据结构:利用递推式计算next表

值,并整理为表格(即下面介绍的“next 表”),以便此后反复查询——亦即,将“记忆力”转化为“预知力”。将上面的讨论,再向更一般化的情况推广,如图 6.3.4 所示,假设前一趟比对终止于。如图 6.3.1 所示,在某一趟匹配中,当对比到最后一个字符的时候,发现匹配失败(将上述案例推广到稍微一般的情况,如图 6.3.3 所示,在某一轮匹配中,值,并整理为表格(即下面介绍的“next 表”),以便此后反复查询”。这个与任何字符都匹配的字符,在这个过程中,必然会有能够满足。,并且该字符与任何字符都是匹配的。

2025-03-26 12:48:17 1169

原创 LLM(11):使用滑动窗口进行数据采样

如图 2.13 所示。)指的是 LLM 将接收的 input,而箭头右边的 token ID 代表 LLM 应预测的 target 的 token ID。内存占用:较小的batch size意味着在内存中同时处理的数据量减少,这对于内存有限的设备较为友好,可以避免因内存不足而导致的程序崩溃,还可能允许使用更大的模型或更复杂的网络结构。如果我们比较第一和第二批次,可以看到第二批次的 token ID 向右移动了一位(例如,第一批次输入中的第二个 ID 是 367,这是第二批次输入的第一个 ID)。

2025-03-26 11:09:04 1161

原创 LLM(10):字节对编码(BPE)

介绍一种BPE方案

2025-03-25 15:34:55 633

原创 LLM(9):处理特殊 token

继续处理 token,本文介绍一种重要的方法

2025-03-24 11:31:29 955

原创 数据结构:汉诺塔问题的递归求解和分析

以汉诺塔问题为例,分析递归的求解方法和算法效率

2025-03-24 09:10:41 1061

原创 LLM(8):将 token 转换为 token ID

然后,这些单个的 token 会被按字母顺序排序,并去除重复的 token,然后聚合到一个词汇表中,该词汇表定义了从每个唯一的 token 到一个唯一整数值的映射。从一个新的文本样本开始,我们对文本进行 token 化,并使用词汇表将文本 token 转换为 token ID。为此,可以创建词汇表的逆版本,该逆版本将 token ID 映射回相应的文本 token。因此,它不包含在词汇表中。方法接收样本文本,将其分割成单独的 tokens,并通过词汇表将这些 tokens 转换为 token IDs。

2025-03-21 09:28:00 562

原创 数据结构:队列应用举例——报数问题

队列应用举例

2025-03-20 09:28:15 770

原创 LLM(7):文本分词 token 化

将文本转换为 token 的简单示例

2025-03-20 09:11:55 728

原创 LLM(6):理解词嵌入

解释词嵌入的含义和作用

2025-03-19 09:02:49 916

原创 数据结构:栈的应用——后缀表达式求值

在严蔚敏教授的《数据结构》(人民邮电出版社,2015年2月第2版)案例 3.3:表达式求值(第78页)中,对后缀表达式求值有详细叙述,但其内容令部分基础不足够好的学习者费解,为此,本节先以简单的形式对后缀表达式求值方法给予介绍,而后解释书中的难点。后缀表达式的求值过程是:从左到右扫描后缀表达式。,如果利用栈,扫描这个后缀表达式。为例,它对应的后缀表达式为。

2025-03-19 08:34:50 1150

原创 LLM(5):了解 GPT 架构

概述 GPT 架构

2025-03-18 08:27:16 849

原创 数据结构:栈的应用——不同形式表达式的转换方法

尽管后缀表达式不够直观易读,但它不需要括号,只有操作数和运算符,并且越放在前面的运算符越优先执行,也就是考虑了运算符的优先级。利用栈将中缀表达式转换为后缀表达式的基本流程是:对中缀表达式从左到右扫描,将遇到的操作数直接存放到后缀表达式中,将遇到的每一个运算符或者左括号都暂时保存到运算符栈,而且先执行的运算符先出栈。后缀表达式(Postfix Expression),或称为逆波兰表示法(Reverse Polish Notation, RPN):在算术表达式中运算符在操作数的后面,例如。

2025-03-18 08:08:27 822

原创 LLM(4):了解训练大模型的数据集

简要介绍用于训练大模型的数据集特点。

2025-03-17 08:30:50 409

原创 LLM(3): Transformer 架构

大多数现代的大规模语言模型(LLMs)依赖于 Transformer 架构,这是一种在 2017 年的论文《注意力就是你所需要的》(https://arxiv.org/abs/1706.03762)中提出的深度神经网络架构。为了理解 LLMs,必须要先了解最初的 Transformer,它是为机器翻译任务而开发的,用于将英文文本翻译成德文和法文。简化版的 Transformer 架构如图 1.4 所示。图 1.4简化版的原始 Transformer 架构图示,它是一个用于语言翻译的深度学习模型。

2025-03-16 12:56:58 1004

原创 数据结构:栈的应用举例——括号匹配的检验

此算法的流程控制简单,而且便于推广至多类括号并存的场合。若遇右括号,则弹出栈顶的左括号并与之比对。当然,栈提前变空或者表达式扫描结束后栈非空,也意味着不匹配。如果表达式中包含括号,当程序中含有这类表达式时,在代码编译过程中,必然会检查括号是否匹配,这是一项必需的语法检查环节。此处假设表达式中只含有左、右圆括号,借助栈检验左右圆括号是否匹配。注意:上述方法难以处理含有多种括号的表达式,故不如迭代版适用性广。的括号匹配(上式中为了表示明显地表示括号,将。因此,可以使用分治算法,将表达式。

2025-03-16 12:32:38 756

原创 LLM(2):准备构建 LLM

在一文中,对 LLM 做了初步介绍,本文接续前一篇文章的内容,简要介绍 LLM 的应用和构建过程。

2025-03-14 10:49:57 1039

原创 数据结构:栈的应用举例——进制转换

栈的应用举例

2025-03-14 09:04:20 983

原创 LLM(1):了解大语言模型

在 LLMs 出现之前,传统方法擅长于像电子邮件垃圾信息分类和简单的模式识别这样的分类任务,这些任务可以通过手工编写的规则或更简单的模型来捕捉。现代 LLMs 与早期 NLP 模型之间的另一个重要区别是,早期的 NLP 模型通常是为特定任务设计的,比如文本分类、语言翻译等。LLMs 背后的成功可以归因于许多 LLMs 所基于的 transformer 架构以及用于训练 LLMs 的巨大数据量,这使它们能够捕捉到各种语言细微差别、上下文和模式,这些如果手动编码将极具挑战性。

2025-03-12 12:46:56 337

原创 文摘:关于提问

关于提问的内容摘抄

2025-03-11 17:53:50 220

原创 文摘:关于语文教育

一个关于语文教育的观点

2025-03-11 17:40:08 174

原创 数据结构:有序表的合并

合并有序表的方法

2025-03-10 09:16:58 1088

原创 数据结构:有序表的插入

以一个例题说明向一个有序表中插入一个元素的多种解法。

2025-03-10 09:03:43 856

原创 EDVAC 报告的历史及对计算机科学的影响

冯·诺依曼的EDVAC报告及其影响力

2025-03-09 16:30:23 721

原创 计算机组成原理:加法器中半加和的两个结论等效性证明

对半加和两种表达式的等效性证明

2025-03-08 11:10:11 868

原创 《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导

原书中的错误修订

2025-03-06 08:50:34 871

原创 《机器学习数学基础》补充资料:描述性统计

描述性统计简述

2025-03-05 12:23:51 694

原创 《机器学习数学基础》补充资料:连续正态分布随机变量的熵

连续正态分布随机变量的熵,对《机器学习数学基础》有关内容的深入解读

2025-03-05 08:30:07 861

空空如也

空空如也

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

TA关注的人

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