AI生成艺术
文章平均质量分 67
东方佑
人工智能改变世界
展开
-
孤独的城市公路(增加开始结束页面)
【代码】孤独的城市公路(增加开始结束页面)原创 2024-05-01 15:55:40 · 956 阅读 · 0 评论 -
将睡眠曲线应用到神经网络训练中作为学习率的变化规律
这个函数的作用是根据给定的最大学习率和迭代步数,设置睡眠阶段的学习率和对应的步数。首先,函数定义了一个字典lr_dict,其中包含了不同阶段的学习率。默认情况下,最大学习率为0.0005,共有5个阶段,每个阶段学习率依次递减。接下来,定义了5个不同的睡眠阶段,每个阶段包含了学习率和对应的步数。这里通过索引字典lr_dict来获取每个阶段的学习率。然后,将每个睡眠阶段的学习率和步数进行归一化处理,将步数除以总步数,得到每个阶段占总步数的比例。最后,计算每个阶段的起始步数和结束步数,并将结果存储在列表。原创 2024-05-01 11:44:09 · 748 阅读 · 0 评论 -
Arcade 用户界面滚动文本框
【代码】Arcade 用户界面滚动文本框。原创 2024-04-30 08:15:00 · 574 阅读 · 0 评论 -
Arcade 用户界面进度条
02.0f02.0f这段代码是一个使用Arcade库创建用户界面的基本示例。首先,我们导入了arcade库以及相关的模块和类。其中,UISlider是一个用于显示滑块的类,UIManager是一个管理UI元素的管理器类,是一个用于定位UI元素的小部件类,UILabel是一个显示文本的类,是一个处理UI元素变化事件的类。接下来,我们定义了一个名为UIMockup的类,它继承自。在初始化方法__init__中,我们创建了一个UIManager实例,并启用了它。然后,我们设置了窗口的背景颜色为。原创 2024-04-30 09:45:00 · 630 阅读 · 0 评论 -
Arcade 小地图
04.1f14.1f这是一个使用Arcade库创建的小地图示例。在这个例子中,我们使用一个小地图来显示主场景的完整地图,并在小地图上的显示圈来跟踪玩家的位置。代码的第一部分是一些全局变量的定义,包括一些常量和一些用于设置屏幕和小地图尺寸的变量。接下来是一个名为MyGame的类,这是整个游戏的主要类。其中包含了游戏的初始化和主要逻辑。MyGame类的__init__方法是类的初始化方法。其中包含了一些属性的初始化和一些对象的创建。setup。原创 2024-04-29 10:16:58 · 1331 阅读 · 2 评论 -
python 生成二维码的尺寸而字符长度的测算
此代码实现了生成二维码的功能,并且根据输入的数据长度和方块大小,返回生成的二维码图像的形状。首先导入了所需的库:numpy、qrcode和tqdm。generate_qrcode函数用于生成二维码的形状,输入参数是数据和方块大小。在函数中,创建了一个二维码实例qr,设置了版本、纠错等级、方块大小和边框。然后将数据添加到二维码实例中,并调用make方法生成二维码图像。最后将图像转换为numpy数组并返回其形状。原创 2024-04-29 10:15:52 · 482 阅读 · 0 评论 -
使用拼音代替中文做nlp之拼音文本互转
使用拼音代替中文进行NLP(自然语言处理)任务的拼音文本互转有以下好处:减小词汇空间:中文词汇庞大,使用拼音代替可以将词汇空间减小到拼音字符的数量级,简化了问题规模。简化算法:使用拼音代替中文可以简化一些算法,例如文本匹配、聚类、分类等。因为拼音具有规则性,可以通过拼音之间的关系来简化计算。提高效率:拼音转换算法相对较简单,并且转换后的文本长度通常比原始中文文本短,这就提高了计算效率。适应多语言环境:拼音作为一种国际通用的语音表达方式,可以适应多语言的环境,便于与其他语言进行交互和处理。原创 2024-04-28 14:54:03 · 747 阅读 · 0 评论 -
测算sample gpt
在深度学习模型的设计中,参数的数量和层数是两个重要的因素。参数的维度通常与模型的学习能力有关,参数越多,模型能够捕捉的模式就越复杂。然而,这并不意味着参数越多越好,因为过多的参数可能会导致过拟合,即模型在训练数据上表现良好,但在未见过的新数据上表现不佳。层数的多少影响模型的深度,理论上,更深的模型可以捕捉更复杂的特征,但同样存在过拟合的风险。此外,层数过多还会导致梯度消失或梯度爆炸问题,使得模型难以训练。关于8层和几个头的影响,这通常指的是Transformer模型中的结构。原创 2024-04-28 14:51:50 · 658 阅读 · 0 评论 -
给rwkv_pytorch增加rag
Sentence Transformers 是一个基于 PyTorch 的开源库,用于计算句子、段落或文档之间的语义相似度。它提供了多种预训练模型,可以用于各种自然语言处理任务,如文本分类、信息检索、文本聚类等。如果在安装过程中遇到任何问题,可以查看Sentence Transformers的官方文档或GitHub页面以获取帮助。:安装完成后,你可以通过运行一个简单的示例脚本来验证安装是否成功。:在安装新的Python包之前,最好更新pip、setuptools和wheel,以确保你安装的是最新版本的库。原创 2024-04-27 09:17:28 · 1287 阅读 · 0 评论 -
SnapKV: LLM Knows What You are Looking for Before Generation(实现超长上下文的压缩方法无需训练)
这篇论文介绍了一种名为SnapKV的创新方法,旨在提高大型语言模型处理长上下文时的效率和内存利用率。2. 提出了SnapKV算法,利用观察窗口和投票机制选择每个注意力头的重要键值对,并使用池化进行细粒度聚类。3. 在多个模型和数据集上评估SnapKV,结果显示其可以大幅压缩键值对缓存,提高解码速度,同时保持模型性能。总之,SnapKV为长序列输入提供了一种高效压缩键值对缓存的方法,有助于降低内存和计算成本,同时保持了生成质量。是的,根据文档中对SnapKV方法的描述,该步骤是在softmax之前进行的。原创 2024-04-28 08:15:00 · 1425 阅读 · 0 评论 -
Retrieval Head Mechanistically Explains Long-Context Factuality(检索头机制性解释长上下文真实性)
这篇文章主要研究了长上下文语言模型如何从任意位置检索相关信息,并得出以下主要结论: 1. 文章发现了一种特殊的注意力头,即检索头,在所有长上下文模型中,只有少量注意力头(约5%)负责从输入中检索相关信息。2. 检索头具有普适性、稀疏性、固有性和动态性等特点,并且在持续预训练等模型变体中会使用相同的检索头。3. 完全移除检索头会导致模型无法检索相关信息并出现幻觉,而随机移除非检索头则对模型性能影响较小。原创 2024-04-26 12:41:44 · 865 阅读 · 0 评论 -
SHA256哈希对象 能保证多长的字符串后才重复(即使全球数据量也安全?)
SHA-256是一种哈希函数,它可以接受任意长度的输入(字符串),并生成一个固定长度(256位,或32字节)的哈希值。由于输入可以是任意长度,理论上存在无限多种可能的输入组合。然而,由于输出是固定长度的,这意味着必然存在不同的输入会产生相同的输出哈希值,这种现象称为“哈希碰撞”。对于SHA-256,哈希值的输出空间是2256,这是一个非常大的数字。因此,对于任意特定的输入字符串,找到另一个具有相同哈希值的字符串是非常困难的。然而,随着越来越多的哈希值被生成,找到碰撞的可能性会逐渐增加。原创 2024-04-27 09:00:00 · 768 阅读 · 0 评论 -
python带有额外条件约束的聚类
【代码】python带有额外条件约束的聚类。原创 2024-04-26 08:30:00 · 974 阅读 · 0 评论 -
完善版top p t 解码策略
该函数的作用是对模型输出的logits进行采样,返回采样结果。首先,函数定义了输入参数out、temperature和top_p,分别表示模型输出的logits张量、温度参数和Top-p截断参数。然后,通过将out进行softmax操作,将其转化为概率分布。softmax操作通过将logits的每个元素从线性尺度转化为非线性概率分布来实现。接下来,根据Top-p截断参数对概率分布进行截断操作。首先,将概率分布按照概率值进行排序,并计算累积概率。然后,根据Top-p截断参数,确定需要截断的位置。原创 2024-04-25 08:30:00 · 1037 阅读 · 0 评论 -
SelfDpoLoss 将nlp 训练nlp任务
类是用于PaddlePaddle深度学习框架中的一个自定义神经网络损失函数。这个损失函数通常用于模型的某个层(通常是在最终分类层之前的一层)的输出new。该损失函数计算的是new经过对数softmax函数处理后再经过缩放因子beta的对数sigmoid函数的负值的平均值。以下是betabetaforwardnewaxis=-1self.beta。原创 2024-04-26 15:15:00 · 1215 阅读 · 0 评论 -
go 生成二维码
参考地址 :https://blog.csdn.net/qq_37767455/article/details/121188740。原创 2024-04-25 08:30:00 · 678 阅读 · 0 评论 -
字节树RAG吗
字符树具有超级长的依赖能力,而没有创新性,而ai没有超级长的依赖但是有创新性,故而使用且ai能够把控剧情走向,所以使用字符树进行依赖辅助,ai负责创新和美化,并把控走向没错。字符树就像大纲一样控制生成超长的依赖 字符树{a{b{},c{}}} ,整理该表述这段表述提出了一个观点,即字符树和AI在处理文本生成时的不同能力和作用。abcabc。原创 2024-04-24 08:30:00 · 752 阅读 · 0 评论 -
go 这样做就是python
这段代码定义了一个名为main的包,并导入了"fmt"包。接下来,在main函数中,声明了一个名为list的空接口类型的切片。然后使用append函数将一些元素添加到这个切片中,包括整数1、2、3,以及字符串"d"和浮点数3.0。接着,使用fmt包中的Println函数打印出list的内容,并附上一段说明文字。接下来,定义了一个名为dict的空接口类型的字典。使用map关键字创建了这个字典,并初始化了三个键值对。其中键和值的类型可以是任意类型,因为使用了空接口类型。最后,再次使用fmt包中的Println函原创 2024-04-24 08:15:00 · 1799 阅读 · 1 评论 -
一个简单分词算法
在这段代码中,我们定义了一个函数,它用于找到最佳的词汇表大小。首先,我们导入了tqdm库,它可以用于显示代码执行的进度条。然后,我们定义了一个空的词汇表voc,以及用于存储最佳词汇表、压缩率和最佳大小的变量best_voc和max_size。接下来,我们使用两个嵌套的循环来创建不同大小的词汇表,并计算压缩后的文本长度。外部循环以步长为1从1到文本长度的十分之一进行迭代,内部循环以步长为当前词汇表大小从0到文本长度进行迭代。原创 2024-04-23 08:15:00 · 993 阅读 · 0 评论 -
给sample_gpt加上,路的选择
鲁迅说世界上本没有路走的人多了便有了路。原创 2024-04-23 08:15:00 · 1105 阅读 · 0 评论 -
给sample,gpt 加上rope和特殊的ffn
【代码】给sample,gpt 加上rope和特殊的ffn。原创 2024-04-22 08:30:00 · 1230 阅读 · 0 评论 -
有没有一种既保持结构简单又保持训练高效,推理时候复杂度不变的LLM
目前,大型语言模型(LLM)在推理预测下一个token时,通常存在一定的空间复杂度和计算复杂度。例如,自回归的LLM在每个周期都需要处理越来越多的token,导致生成过程变慢。此外,基本的注意力机制也是一个二次算法,导致所有token都需要关注所有其他token,这进一步增加了计算复杂度。为了优化这些模型,研究人员已经开发了多种方法来加速LLM的推理过程。这些方法包括从硬件优化到各种解码技巧的改进。例如,可以通过改进算法,在每个周期减少需要处理的token数量,或者通过优化注意力机制来降低计算复杂度。原创 2024-04-22 08:45:00 · 583 阅读 · 0 评论 -
给sample_gpt 增加 lisa 微调
该论文提出了一种名为LISA的层重要性采样优化算法,旨在解决大规模语言模型训练中的内存瓶颈问题。通过分析LoRA训练中各层权重范数的分布,发现了权重更新在底层和顶层更为集中的现象,揭示了不同层在训练中的不同重要性。基于上述发现,提出了一种简单的策略,即根据权重范数分布随机冻结大部分中间层,只优化对模型影响较大的底层和顶层,从而减少训练时的内存消耗。引入了一种名为LISA的优化算法,利用重要性采样思想,根据各层的权重范数分布来设置冻结层的概率,实现高效训练。原创 2024-04-21 09:13:25 · 1077 阅读 · 0 评论 -
设计了一个最佳分词自回归模型训练方案
设计原创 2024-04-21 09:12:27 · 856 阅读 · 0 评论 -
给rwkv_pytorch配了个流式服务和请求demo
接下来,我们需要配置服务器的URL。在这个示例中,假设服务器运行在本地端口5000上。每收到一行消息,我们将其解码并打印出来。这段代码是一个用于向服务器发送POST请求的示例代码。,分别用于发送带有流式响应和非流式响应的POST请求。,表示我们希望获得一个流式的响应。函数构造了一个包含各种参数的数据字典,并使用。函数来发送流式的POST请求,并注释掉了。方法发送POST请求。,表示我们希望获得一个非流式的响应。首先,我们需要导入一些必要的库。最后,在程序的主体部分,我们调用。库用于发送HTTP请求,原创 2024-04-20 10:10:34 · 1129 阅读 · 0 评论 -
给rwkv-pytorch 写个chat ui demo
【代码】给rwkv-pytorch 写个chat ui demo。原创 2024-04-20 00:00:00 · 259 阅读 · 0 评论 -
Orpo最新rlhf方案
该论文介绍了一种名为ORPO(Odds Ratio Preference Optimization)的单步偏好优化算法,旨在优化语言模型的偏好学习。原创 2024-04-15 09:48:51 · 773 阅读 · 0 评论 -
使用relu attention 也是可以实现gpt的
https://aistudio.baidu.com/projectdetail/7714639原创 2024-04-15 09:48:23 · 1112 阅读 · 0 评论 -
sample gpt 无限长上下文
经过线性变换得到Query、Key和Value张量,然后计算注意力得分。注意力得分进行了ReLU激活和归一化处理,并进行了累加操作。类,用于生成位置编码。位置编码的计算过程参考论文《Attention Is All You Need》,其中使用了一个正弦函数和一个余弦函数来计算位置编码。先经过注意力层,然后与输入相加,并进行LayerNorm归一化。接着经过前馈网络层,再与输入相加,并再次进行LayerNorm归一化。在代码的最后,定义了一些用于测试各个模块的函数,并在。类,它是GPT模型中的前馈网络层。原创 2024-04-14 20:46:24 · 487 阅读 · 0 评论 -
Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention 复现demo
这篇论文介绍了一种名为Infini-attention的新型注意力机制,旨在扩展基于Transformer的大规模语言模型(LLM)处理无限长输入的能力,同时保持内存和计算资源的有限性。将压缩记忆整合到标准注意力机制中,建立了屏蔽局部注意力和长期线性注意力机制。重用标准注意力计算的键、值和查询状态,以维持压缩记忆中的长期上下文信息,避免在处理后续序列时丢弃旧状态。通过门控机制聚合局部注意力和压缩记忆检索出的上下文,实现长短期信息的融合。原创 2024-04-14 15:46:47 · 812 阅读 · 0 评论 -
Arcade 图形界面消息框
这段代码展示了如何使用OKMessageBox。首先,我们导入了必要的库,包括arcade和arcade.gui。然后,我们定义了一个名为MyWindow的类,继承自arcade.Window。在初始化方法中,我们设置了窗口的大小和标题,并设置了背景颜色。接下来,我们创建了一个UIManager对象,并启用它。然后,我们创建了一个UIBoxLayout对象,并将其添加到v_box中,以便将按钮居中显示。我们创建了一个UIFlatButton按钮,并设置了按钮的文本和宽度。原创 2024-04-19 09:45:00 · 773 阅读 · 0 评论 -
Arcade 用户界面textarea
【代码】Arcade 用户界面textarea。原创 2024-04-19 08:15:00 · 712 阅读 · 0 评论 -
Arcade 用户图形界面样式
这段代码是一个使用UIFlatButton的示例代码,用来展示如何为UIFlatButton设置样式。首先,我们导入了arcade和arcade.gui库。然后,我们创建了一个名为MyWindow的窗口类,继承自arcade.Window。在窗口类的构造函数中,我们初始化了一个UIManager,并开启了UIManager的功能。接下来,我们设置了窗口的背景颜色为DARK_BLUE_GRAY。然后,我们定义了两个按钮的样式,一个是默认样式,一个是红色样式。原创 2024-04-18 11:45:00 · 737 阅读 · 0 评论 -
Numba加速实际例子
Numba 是一个开源的 JIT (Just-In-Time) 编译器,它可以将 Python 函数编译成机器码。Numba 主要用于加速数值计算,特别是那些使用 NumPy 数组的操作。原创 2024-04-18 09:45:00 · 843 阅读 · 0 评论 -
Arcade 图形界面按钮
这段代码展示了如何创建一个按钮以及处理按钮事件的三种方法。首先导入arcade和arcade.gui模块。然后创建一个QuitButton类,继承自arcade.gui.UIFlatButton类,并重写on_click方法来处理按钮点击事件。在这个示例中,当按钮被点击时,调用arcade.exit()方法来退出应用程序。接下来创建一个MyWindow类,继承自arcade.Window类,并在构造函数中进行初始化操作。首先创建一个arcade.gui.UIManager对象来处理UI元素。原创 2024-04-17 11:45:00 · 718 阅读 · 0 评论 -
通过最长子串辅助llm
上述代码可以在多个方面辅助语言模型(LLM)的使用,尤其是在处理文本数据、增强数据质量、特征提取和改善模型训练数据方面。原创 2024-04-17 13:45:00 · 919 阅读 · 0 评论 -
Arcade 分屏例子3
这个例子展示了如何使用小节来隔离原本在视图中紧密排列的代码。重点在于理解每个小节仅根据其配置接收事件。这样你就不必每次都检查鼠标位置是否在某个区域上。原创 2024-04-16 07:45:00 · 777 阅读 · 0 评论 -
Arcade 绘制全屏
这个程序使用了Arcade库来创建一个全屏的窗口,并显示一些简单的精灵。该程序在全屏和窗口模式之间切换,并演示了视口的使用。在代码中,首先导入了Arcade库和os库。然后定义了一些常量,包括精灵的缩放比例、窗口的宽度和高度、窗口标题、视口的边距、移动速度等。然后定义了一个名为MyGame的类,继承自Arcade的Window类。在这个类的构造函数中,调用了父类的构造函数,并设置了窗口的全屏模式。原创 2024-04-16 11:00:00 · 714 阅读 · 0 评论 -
Arcade 绘制通过界面
这是一个使用Arcade库创建菜单、游戏和暂停界面的例子。首先,我们导入了arcade模块。接下来,我们定义了一些常量,包括窗口的宽度和高度,以及精灵的缩放比例。然后,我们创建了一个名为MenuView的类,它继承自。这是一个菜单界面,在显示界面时设置背景颜色为白色。on_draw方法绘制了菜单界面的文字,并在鼠标点击时切换到游戏界面。接着,我们创建了一个名为GameView的类,它也继承自。这是一个游戏界面,在显示界面时设置背景颜色为亚马逊绿色。__init__原创 2024-04-15 12:00:00 · 761 阅读 · 0 评论 -
Arcade 加载本地文本
首先,我们使用arcade.draw_point绘制一个蓝色的点,作为文本的起始坐标。第一个参数是要显示的文本内容,第二和第三个参数是文本的起始坐标,第四个参数是文本的颜色,第五个参数是文本的字号。如果你想运行这个示例,你需要安装Python和Arcade库,并可以在命令行中使用python -m arcade.examples.text_loc_example_done命令运行该文件。最后,我们定义了一个main函数,创建了一个MyGame对象,并调用arcade.run()来启动游戏循环。原创 2024-04-15 15:30:00 · 1006 阅读 · 0 评论