模型参数的数据类型

模型参数的常见数据类型:

  • Float32 (FP32) 是标准的 32 位浮点表示,包含 1 符号位+8 指数位+23 尾数位
  • Float16 (FP16) 则包含 1 符号位+5 指数位+10 尾数位,数值范围远小于 FP32
  • Bfloat16 (BF16) 包含 1 符号位+8 指数位+7 尾数位,牺牲精度来保证数值范围
  • TensorFloat-32 (TF32) ,使用 19 位表示,结合了 BF16 的范围和 FP16 的精度
  • Int8 (INT8) 是一个 8 位的整型数据表示,可以存储 256 个不同的值

在机器学习术语中,FP32 称为全精度 (4 字节),而 BF1

Read more

模型量化 Quantization

前置知识:模型参数的数据类型大模型的显存占用

Read more

RAID 技术概述

独立冗余磁盘阵列(Redundant Array of Independent Disks,RAID)技术

  • 多块独立的硬盘(物理硬盘)按不同方式组合成一个硬盘组(逻辑硬盘)
  • 降低数据存储的费用,提供更强的存储性能,通过备份技术改善数据安全

RAID 技术的常见规范

  • RAID0,将数据划分为 N 份存储到 N 个硬盘,读写效率高但不支持数据容错和备份;适合于对数据量大,但安全性要求不高的场景,比如音像、视频文件的存储等
  • RAID1,将一份数据同时写入两块硬盘,硬盘利用率只有 50%,但坏了一块硬盘还能继续用;适合数据安全性要求比较高的场景,如邮件系统,数据库等
  • RAID3,将数据划分

Read more

CS224W 图机器学习11:基于 GNN 的推荐

1 推荐系统的任务与评价

推荐系统可以建模为二分图(bipartite graph)

  • 具有两种类型的节点——用户(user)和项(item)
  • 边用于连接用户和项,表示二者间的互动(比如点击、购买或评论)

任务:给定历史图,预测每个用户未来将产生的交互项(链接预测问题)

前置知识:推荐排序模型评价指标

基于嵌入表示的推荐系统建模思路

  • 对于每一个用户 $u$,基于编码器生成对应的用户嵌入表示
  • 对于每一个可交互项 $v$,基于编码器

Read more

人体微量元素

碘的作用也非常重要,特别是对于要减肥的人来说,一般来说,经常吃海鲜的人,不会缺碘,比如说海边的人。对于内陆山区的人来说,可能需要补充一些碘。

碘的主要作用,维持甲状腺健康,新陈代谢,免疫系统,认知能力,防止脱发等等。

缺镁的人也比较多,据美国的数据发现,大概一半的人,镁摄入量都不足。

镁的功能也非常多,和精力、肌肉(抽筋)、神经系统、运动表现、心理压力、睡眠质量等等都有关系。

一种很重要的矿物质元素,抗氧化效果也不错,降低 DNA 损害,改善免疫系统,有一定的抗癌功效,还有一个很重要的功效,维护甲状腺健康,还可以减少哮喘。

硒作

Read more

维生素基础

维生素科普

人体一共需要 13 种维生素:维生素 A,维生素 B,维生素 C,维生素 D,维生素 E,维生素 K,维生素 H,维生素 P,维生素 PP,维生素 M,维生素 T,维生素 U,水溶性维生素

维生素服用规则

  • 避光保存:B 族维生素尤其是维生素 B2,见光极易分解,从而导致失效
  • 避碱服用:B 族维生素在碱性溶液中

Read more

CS224W 图机器学习10:子图的匹配和计数

1 神经网络子图

子图(subgraphs)是构建图的基础块,能够描述和区分图网络

给定图 $G=(V,E)$,可以给出 2 种方式定义子图 $G'=(V',E')$

子图的定义方式 1:节点诱导子图(Node-induced subgraph)

  • 从图 $G$ 的节点集合中筛选子集来构建子图,$V'\subseteq V$
  • 然后从图 $G$ 的边集合中筛选子图所有节点的对应边,$E'={(u,v)\in E|u,v\in V'}

Read more

Python 日志管理

1 基本定义

不同日志级别:

  • INFO:记录关键代码点的信息,以确定代码是否按预期执行,生产环境常用
  • DEBUG:记录详细的信息,方便定位问题进行调试,在生产环境一般不开启
  • WARNING:记录某些不预期发生的情况,如磁盘不足,可接受的数据异常
  • ERROR:当程序某些功不能正常运行时,进行相关错误的记录(尽量详细)
  • CRITICAL:当发生严重错误,导致应用程序不能继续运行时记录的信息

基本概念:

  • 记录器(logger),用于记录具体日志的实例,记录器会根据实际代码调用和文件目录自动生成子记录器,也可以在对应的文件内设置单独的

Read more

Pythonic 优雅编程

理解 Pythonic 概念

逻辑运算

变量值交换:a, b = b, a

运算符优先级:先括号 P,再指数 E,然后乘除 MD,最后加减 AS

链式比较:5 < 10 < 5*10 < 100 -> True

三目运算:text = '男' if gender == 'male' else '女'

列表与字典

列表反转:a_list[::-1]

字典取值:a_dict.get("name", "default")

字典合并:x.update(y){**x,**

Read more