- 博客(931)
- 资源 (37)
- 收藏
- 关注
原创 pulsar存在大量消费未ack的原因
某产品灰度上线后,从pulsar服务端监控发现存在一种现象:消费但未ack的信息不断增加,直到3000左右就稳定下来了且消费速度为0,但不清楚这3000是怎么来的,因为代码是消费到立马ack的;
2024-04-01 13:03:05 374
原创 Temperature&Top-k&Top-p
在语言模型中使用温度(temperature)这个参数是为了控制文本生成过程中的随机性和可预测性。这个概念来自于统计力学中的温度概念,在那里它用来描述系统的熵(或随机性)水平。在语言模型中,输出概率分布上的温度参数用于调整选择下一个词的多样性。pwsoftmaxTlogp利用温度参数,模型能够在生成预测的词时权衡探索(尝试新的、不太可能的词)和利用(选择最可能的词)之间的平衡。在实际应用中,根据语境和应用场景的要求,可以调节温度参数,以产生合适的输出文本。
2024-03-31 22:27:48 562
原创 深入探秘Python生成器:揭开神秘的面纱
想象一下,您掌握了一种魔法,在代码世界里,您可以轻松呼唤出一个整数。然而,事情并不总是看起来那样简单。表面上,这段代码看起来像是在进行一个简单的问候和返回神秘数字1的仪式。这个不是预期中的整数!而是一种被称为生成器的强大生物。那么,这是如何发生的呢?
2024-03-31 11:44:26 514
原创 (生成器)yield与(迭代器)generator
外部的 while True 循环将会导致无限循环,但不是因为 yield_test() 函数内部的逻辑,而是因为外部循环每次迭代都重新创建了一个新的生成器对象。可以忽略掉yield_test内部执行逻辑,从外部调用来看,while会一直执行yield_test方法,永远都不会有终止的时候。
2024-03-26 20:20:24 662
原创 当模型足够大时,Bias项不会有什么特别的作用
阅读OLMo论文时,发现有如下一段话:加上前面研究llama和mistral结构时好奇为什么都没有偏置项了。
2024-03-14 09:54:29 845
原创 python导入的缓存机制
logger文件main文件中调用会执行print语句输出: load logger然后执行子进程每个子进程都会有from app.internal.component.logger import logger但没有执行print语句,且Logger.info打印的日志也没有输出。
2024-03-13 20:49:48 519
原创 在/etc/hosts中为某个IP配置域名解析时,域名可以有不同的,而且域名必须配置成指定的,不能是任意的
在/etc/hosts中为某个IP配置域名解析时,域名可以有不同的,而且域名必须配置成指定的,不能是任意的?
2024-03-04 21:30:31 374
原创 Repetition Improves Language Model Embeddings
问题定义:论文指出自回归大型语言模型(LLMs)在提取文本嵌入时存在一个限制,即早期标记的上下文化嵌入不能包含来自句子后部的信息。这可能导致在语义相似性估计上的失败。方法提出:为了解决这个问题,作者提出了一种名为“回声嵌入”的方法。这种方法通过在上下文中重复输入两次,并从第二次出现的文本中提取嵌入,从而使早期标记能够编码关于后续标记的信息。实验设计:作者在大规模文本嵌入基准(MTEB)上进行了实验,包括零样本和微调设置,以评估回声嵌入与传统嵌入方法的性能。
2024-02-29 17:40:18 943
原创 telnet与ping的区别
如果 telnet 客户端在 “Trying” 状态后没有其他输出,这通常表明它正在等待响应,如果超过一定时间没有收到响应,可能会出现超时错误。这种情况下,需要检查网络连接、目标主机状态、端口状态以及防火墙设置等,以确定为何无法建立连接。当使用 telnet 命令尝试连接到某个主机的特定端口时,如果你看到 “Trying” 消息,这意味着 telnet 客户端正在尝试建立到目标主机和端口的TCP连接。换句话说,它正在发送一个TCP连接请求,并等待目标主机响应。
2024-02-27 17:12:04 606
原创 NoReturn与None的区别
在这个例子中,my_function 会抛出一个异常,所以它不会有返回值,不仅是不返回 None,而是根本就不会有任何返回过程,因为函数执行会在抛出异常时被中断。总的来说,None 是一个实际的值,而 NoReturn 是一个类型注解,用于描述函数的行为(即函数不会正常结束执行)
2024-02-27 17:03:43 363
原创 if __name__ == ‘__main__‘: main()为什么是最佳实践呢
可维护性和可测试性:从 main() 函数调用代码使得它更容易被测试,因为你可以从测试框架中直接调用 main() 函数。此外,如果程序变得更加复杂,使用 main() 函数可以更容易地维护和扩展代码。避免全局变量:在 main() 函数内声明的变量是局部的,避免了全局变量的使用,这减少了由于变量命名冲突或无意中改变了全局状态所引起的bug。性能优化:在某些情况下,将代码放入函数中可以提高性能。如果你直接将代码放在 if。’: 块中,那么这部分代码在被其他脚本导入时不会执行,也无法被重用。
2024-02-26 20:27:10 316
原创 k8s部署项目的优势
可伸缩性:Kubernetes 可以根据应用负载动态调整副本数。这意味着你的 Python 应用可以根据需求自动扩展或收缩,从而提供更高效的资源使用。自我修复:当一个服务实例失败时,Kubernetes 能够自动重启容器,替换故障的 Pods,或者重新调度到健康的节点上,以确保应用的持续可用性。负载均衡:Kubernetes Service 提供了内置的负载均衡器,可以自动分发网络流量到不同的应用副本,有助于提高应用的响应速度和可用性。
2024-02-02 16:44:10 997
原创 uptrained的解释
如果 “uptrained” 出现在与机器学习或人工智能相关的上下文中,它可能是指 “进一步训练”、“增量训练” 或 “继续训练”。在这种情况下,它描述的可能是在一个已经训练好的模型基础上,使用新数据或额外的数据来继续训练以提高性能或适应新的任务。如果一个模型已经在一个数据集上训练过了,然后你使用额外的数据继续训练它,这个过程可能被称为 “uptraining”,相应的中文可以翻译为 “进一步训练” 或 “继续训练”。“uptrained” 这个词没有直接的中文翻译,因为它不是一个标准的英文单词。
2024-02-02 09:13:18 421
原创 Serializable与dataclasses结合的作用
Serializable 通常会提供诸如 to_dict(), from_dict(), to_json(), from_json() 等方法。这样做的好处是可以简化在不同系统或网络传输过程中的数据交换。Serializable 类提供了将数据类的实例转换为更容易进行JSON序列化的字典格式的方法,以及从该字典格式创建数据类实例的方法。在 Python 中,dataclass 是一个装饰器和一个函数,它们位于 dataclasses 模块中,自 Python 3.7 起作为标准库的一部分提供。
2024-02-01 15:01:02 411
原创 isinstance(1, type) 为什么会输出false呢
isinstance() 函数是Python中用来检查一个对象是否是一个类的实例的内置函数。它接受两个参数:第一个参数是要检查的对象,第二个参数是类(或类的一个元组,表示任意一个类)。
2024-01-27 16:51:59 390
原创 linux中配置文件目录为什么用etc来命名
在现代的 Linux 和类 Unix 系统中,/etc 目录用于存放系统的全局配置文件。例如,你会在 /etc 目录下找到网络配置、系统服务启动脚本、用户账户信息、安装的软件的配置文件等。的缩写,最初意味着 “其他”,用来存放杂项或者不属于其他特定目录的文件。然而,随着时间的推移,/etc 目录的用途逐渐演变并专门化。,这是一个很好的例子,展示了技术术语和命名随着时间的演进而逐渐定型的过程。在早期的 Unix 系统中,/etc 目录的名称确实来源于单词。目录的名称起源于“其他”,但现在它已经成为了。
2024-01-26 11:46:08 621
原创 __name__是私有属性吗
在Python中,属性和方法名称前面带有双下划线(、__dict__等,它们并不是私有的,而是被称为"特殊方法"或"魔术方法"。
2024-01-26 11:17:16 356
原创 python中globals()的作用-反射很给力
在Python中,globals() 函数返回一个字典,表示当前全局符号表。这个符号表始终针对当前模块,包含了可以在程序的全局作用域内访问的所有变量和函数。
2024-01-26 11:00:52 428
原创 MongoDB数据定期缓存及自动更新到类属性的实现方法
由于业务需求,需要从mongodb中获取全量数据,但由于mongodb数据每天都会有更新,所以需要定时获取数据;一开始的方案如下:# 每个小时就从mongodb下载数据if 时间等于整点:下载mongodb数据;
2024-01-25 09:13:20 340
原创 pluggy的hooks调用一定要关键字参数
报错如下:TypeError: HookCaller.call() takes 1 positional argument but 2 were given在使用 pluggy 这样的插件管理库时,钩子(hooks)通常是通过关键字参数来传递数据的。这样做的好处是:增强了代码的可读性:调用函数时明确指定参数名,可以让代码更容易理解。提高了灵活性:如果钩子定义中的参数顺序发生变化,使用关键字参数调用就不会受到影响。可维护性:当钩子的参数列表在未来可能扩展时,现有的插件调用不需要修改,因为它们已经通过关键
2024-01-23 12:45:04 326
原创 print会默认调用__str__方法吗
打印Mongodb自己生成的id:输出:659faa6670433c2c86986861ObjectId(‘659faa6670433c2c86986861’)在 MongoDB 中,_id 字段通常是一个 ObjectId 类型的实例。当你在 Python 中打印一个 ObjectId 对象时,会自动调用该对象的 str() 方法,该方法返回对象的字符串表示形式。这就是为什么当你执行 print(res[‘_id’]) 时,你看到的是 ObjectId 的字符串形式,而不是 ObjectId 对象本
2024-01-22 22:46:05 362
原创 python好工具之自动重试tenacity
tenacity 是一个Python包,用于简化为代码添加重试逻辑的过程。它允许你在遇到异常时自动重试某个操作,并可以定制重试的策略,例如重试的次数、等待重试的时间间隔、何种异常触发重试等。这使得 tenacity 成为处理网络请求、远程资源访问或其他可能因暂时性问题失败的操作的有用工具。
2024-01-19 10:51:28 380
原创 python插件架构介绍
钩子规范是接口的声明,它定义了插件需要实现的方法和所需的参数。这些规范是插件开发者遵循的蓝图,确保了所有插件都有一致的接口。# 创建一个钩子规范管理器"""一个包含所有钩子规范的类。"""@hookspec"""一个简单的钩子规范,插件需要实现这个接口。"""pass。
2024-01-17 23:52:43 564
原创 An Experimental Design Framework for Label-Efficient Supervised Finetuning of Large Language Models
A: 这篇论文提出了一个实验设计框架,用于在有限的标注数据下提高大型语言模型(LLMs)的监督微调(SFT)效率。问题背景:SFT在指令数据集上对LLMs的零样本泛化能力至关重要,但随着指令数据集任务数量的增加,所需的高质量响应标注工作量变得非常昂贵。方法提出:为了减少SFT的标注成本并避免主动学习中的计算瓶颈,论文提出了使用实验设计技术来选择最有信息量的样本进行标注。实验设计通常最大化某种不确定性和/或多样性的概念。
2024-01-17 08:56:35 391
原创 论文系列之Applying Large Language Models API to Issue Classification Problem
这篇论文探讨了如何应用大型语言模型(LLMs)的API来自动分类软件工程中的issue报告,以优化资源分配并及时解决关键问题。研究者们开发了一个基于Generative Pre-trained Transformers(GPT)的方法,通过在较小的数据集上进行微调(fine-tuning),来提高issue分类的准确性和可靠性。他们使用了OpenAI的API和gpt-3.5-turbo模型,通过模拟对话的方式训练模型,将issue的标题和内容作为提示,期望模型能够返回正确的分类标签。
2024-01-11 12:24:57 531
原创 论文系列之-Mixtral of Experts
1. 提高模型性能:通过使用稀疏混合专家结构,Mixtral在多个基准测试中超越或匹配了现有的大型模型(如Llama 2 70B和GPT-3.5),尤其是在数学、代码生成和多语言理解任务上。2. 控制计算成本:尽管模型拥有47B参数,但在推理过程中每个token仅使用13B活跃参数。这种设计允许在小批量大小下实现更快的推理速度,并在大批量大小下实现更高的吞吐量。3. 减少偏见和提高情感平衡:通过指令微调(Instruct)模型,Mixtral在人类评估基准测试中展示了减少的偏见和更平衡的情感配置文件。
2024-01-10 12:47:01 1669
原创 混合精度训练(MAP)
使用精度低于32位浮点数的数字格式有很多好处。首先,它们需要更少的内存,可以训练和部署更大的神经网络。其次,它们需要更少的内存带宽,这加快了数据传输操作。第三,数学运算在降低精度的情况下运行得更快,特别是在支持Tensor Core的gpu上。混合精确训练实现了所有这些好处,同时确保与完全精确训练相比,没有任务特定的准确性损失。它通过识别需要完全精度的步骤,并仅对这些步骤使用32位浮点数,而在其他地方使用16位浮点数来实现这一点。
2023-12-22 21:47:43 938
原创 transformer之KV Cache
使用KV Cache的推理速度是明显优于没有使用KV Cache的,而且生成的token越长速度提升就越明显,当最大生成token数为1000时,近10倍的加速,一次推理近6分钟。
2023-11-22 23:57:12 1605 2
原创 计算模型参数量的方法
方法返回的一个迭代器。这个迭代器包含了模型中所有需要训练的参数,每个参数都是一个。numel是number of elements的缩写,表示张量中元素的数量。类的一个方法,用于返回张量中元素的总数。在PyTorch中,模型的参数通常是通过。返回的是一个参数张量中元素的总数,而。表示计算一个参数张量中元素的总数。则返回整个模型中所有参数元素的总数。
2023-11-10 12:02:23 287
Training deep network without learningrate coinbet
2018-11-14
stacked Denoise autoencoder learning useful representation
2018-11-14
深度学习+tf
2018-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人