2023-09-06
采集大模型训练语料的故事

从 7 月开始,我一个人用了一个月时间,采集了超过 200 TB 大模型训练语料,花了 20 万人民币的流量费和云存储费用。就像最近发布的 Mate60 Pro 一样,真可谓是两岸猿声啼不住,轻舟已过万重山。

200 TB 语料里都有什么

  • Z-library 图书馆电子书 2243 万册,共计 31 TB
  • Libgen 图书馆电子书 378 万册,共计 33 TB
  • Scimag 学术论文和期刊 8760 万册,共计 77 TB
  • 各类中文语料,共 4 TB,包括:
    • 小学、初中、高中全套课本,35 GB
    • 大学教材和专业书 1 万余册,142 GB
    • 《人民日报》《参考消息》《三联生活周刊》《环球科学》《读者》《中国国家地理》等数十种经典报刊杂志历年合集,共 1 TB
    • 百度百科 1200 万词条,20 GB
    • 古籍、各地县志 1.6 TB
    • 各类推荐书单、英汉双语世界名著、中国历代名著译本等图书 2 万余册,约 300 GB
    • 各类词典 100 GB
    • 各类中文小说约 100 GB
  • 各类数据集:
    • RedPajama 数据集,是 LLaMA 数据集的开源复刻版,2.8 TB
    • MNBVC 数据集,1 TB
    • CommonCrawl 2023 5-6 月版本的 WET 纯文字版数据,压缩后 8.6 TB
    • 全世界几乎所有域名的 Whois 数据历史(30 亿条),2.5 TB
    • TheStack 数据集,GitHub 知名开源项目的源代码,3 TB
    • The-Eye 数据集,是很多 AI 训练数据集的合集,15 TB
    • AmazonReviews 数据集,55 GB

为什么我收集了这么多书?这些书中很多还是图片组成的 PDF,需要 OCR 才能当文本模型的训练语料使用。我有两点考虑:

  1. 语料的质量比数量重要,百度贴吧上的贴子数量可能比书的数量多,但是贴吧贴子只能把大模型训练成一个段子手,没法让它干正事;要掌握知识,还是得从书籍和文献中系统地学习。
  2. 未来多模态大模型会成为主流,视觉中包含了人类世界的很多重要信息,现在的文本大模型只用文本做训练其实是丢失了很多信息,未来的多模态大模型可以从 PDF 书籍中直接学习包含图片和文本的多模态知识。

Whois 域名注册历史数据集

今天我用其中一个比较有意思的数据集,利用 GPT-4 帮我写代码,花了 3 个小时做了一个查询网站:全世界域名 30 亿条 Whois 历史查询:whois.os.ai

比如搜索 microsoft,可以看到 microsoft.* 的域名其实有非常多,需要加载一会儿才能全部加载完。也可以搜索你自己的域名,历史上大部分存在过的域名这个数据库里都有,而且大部分新注册的域名第二天就能在这个系统里查询到。

这个数据集起源于 2013~2014 年我在 MSRA 高级软件工程课程的课程作业。当时我做了一个网站 soip.net(在 whois.os.ai 上还可以查到当年域名注册的历史遗迹),从 Verisign 拿到了 .com 和 .net 的 DNS Zone File(目前这些 gTLD 的 Zone File 可以通过 ICANN 拿到),然后就慢慢把这几千万个域名(目前 .com 域名数量已经过亿)的 Whois 数据都爬下来,然后把每个域名解析出的 IP 地址也爬下来。

这样就形成了域名、IP、Whois 域名注册信息的关联数据,可以根据 IP 反查某个主机上挂了哪些域名,也可以根据注册信息反查某个人注册了哪些域名。当时域名注册信息保护还不流行,域名注册者的实名地址、邮箱和电话号码都可以通过 Whois 公开查到。其实当时已经有公司在提供此类服务了,因此我做这个网站也只是为了课程作业,并没有持续运营下去。

但是我觉得 Whois 域名注册信息的历史应该有很高价值,它就像 Internet Archive WayBackMachine 一样记录了互联网历史的一个侧面。因此就一直维护了下去,后来还添加了更多 gTLD 和 ccTLD 的数据源。当然我凭兴趣搞的项目做不到 100% 覆盖,不像 WhoisXMLAPI 这样专业提供 Whois 数据历史的公司那么厉害。

10 年过去,Whois 数据集中已经有超过 7 亿个域名,接近 30 亿条 Whois 历史记录,其中目前活跃的只有 2 亿多个域名,4 亿多个域名已经消失在历史的尘埃中。其中大多数域名都是 “米农” 买来投资或者收藏的,并没有真正用来建站。有些不太懂技术的认为,注册了域名只要不告诉别人,就没有人知道,其实不是这样的。对于大多数顶级域,域名注册信息和 DNS 信息每天的增量都是公开的,只要有合作关系都能拿到。有了域名数据集,就可以爬到很多搜索引擎没有收录的网站。

要是自己从头写这个查询网站,起码要花 2 天时间。用 GPT-4,只花了 3 个小时,而且前端比我做得还更漂亮。整个网站的源代码 基本都是 GPT-4 写的,包括前端、Flask 后端和 CSV 数据导入 MongoDB 的脚本(当然,导入数据花了一两天)。整个前端只有一个文件,整个后端也只有一个文件,一共 500 多行代码。写出来发现什么问题,再让 GPT-4 去修改,我就是个提需求的产品经理,一行代码都没有手写。

采数据与买数据

我也接触过一些卖数据的公司,清洗过的数据其实是挺贵的,远高于自己采集数据的成本。但是有些数据自己爬又很难爬到,比如天涯论坛今天已经不存在了,微信公众号也难以遍历所有文章,还有一些非公开的行业数据。

但是像知乎这种网站,就没有必要买数据了,知乎现在有上亿个问题、上十亿个回答,如果按照数据公司的定价去买数据,这不知道要多少钱。因此,自己爬取数据的能力是非常重要的。

数据清洗也非常关键,我曾经见过有的大语言模型,回答里面还有 “展开全部” “上一页” “下一页” 这些东西,这说明数据一定没有好好清洗过。

我只是利用业余时间做了一些初步的数据采集和清洗,以后有新的进展会跟大家分享。

Read More

2023-08-27
AI 大模型创业的 10 个灵魂拷问

  1. 做不做基础大模型?
  2. To B or to C?国内 or 海外?
  3. 人民币资本 or 美元资本?
  4. AI Native 的应用是移动互联网级别的机会吗?
  5. 你们的 vision 是 AGI 吗?
  6. 大模型胡说八道的问题可以解决吗?
  7. 大模型 infra 如何盈利?
  8. 你们的护城河在哪里?
  9. 你们的商业模式能 scale 吗?
  10. 如何应对大模型的监管和法律责任?

下面就这 10 个灵魂拷问,分享一些我自己的观点。

Read More

2023-08-24
清华懂王链接天才少年:当顶级打工人出来创业

B 站 up 主 “豹豹爸2022” 原视频

本站视频备份(25:58,121 MB)

以下是 AI 语音识别的文字实录:

Read More

2023-08-17
各位来宾在我们婚礼上的致辞

2023 年 5 月 1 日,石家庄

  • 谭博致辞
  • 霖涛导师致辞
  • 谈海生教授致辞
  • 新郎李博杰的婚礼誓言
  • 新娘孟佳颖的婚礼誓言
  • 新郎父亲致辞
  • 新娘父亲致辞
  • 新娘父母在改口仪式上的发言
  • 新娘在改口仪式上的发言
  • 新郎父母在改口仪式上的发言
Read More

2023-08-15
我们的婚礼视频和照片

2023 年 5 月 1 日,石家庄

照片

戳此看婚礼现场照片在线相册(110 张精修)

预告片

(00:31,73 MB,19 Mbps)

精剪

(04:47,216 MB,6 Mbps)

全程纪实

(01:30:24,3.35 GB,5 Mbps)

Read More

2023-08-13
MSRA 读博五年(三)地下挖矿机房与数字前任计划

《MSRA 读博五年》系列之三,未完待续……

地下挖矿机房

帝都万柳一座普通的居民楼地下,穿过一道厚重的防空洞铁门,再穿过一条不开灯就伸手不见五指的巷道,就是我挖矿的地下仓库。

旁边的地下室里,住着很多在帝都奋斗的打工人,那里一间最小的房间一个月只要一千块钱。十几间地下室的陌生人共用一个卫生间,一个洗漱间,公用的洗手池、洗衣机都锈迹斑斑。巷道的尽头是一间 30 平米的大厅,还有通风口可以透出一点外界的光,我便租下了这间大厅和旁边的一间小屋,用作矿机机房。

我自己搭建了地下挖矿机房的基础设施,运行着价值 30 万人民币的 6 卡 1080Ti 水冷矿机、油冷矿机、多台 6 卡 1060 矿机、多台 9 卡专用矿机、各种挖比特币和莱特币的 ASIC 矿机,还承载着我最隐蔽的个人项目——数字前任计划。

Read More

2023-08-13
预告 AI 操作系统 os.ai

AI 操作系统这个概念已经有很多人提出过。传统的 AI 操作系统可能更多是基础架构(infra)方面,本质上是管硬件的;我们提出的 AI 操作系统是管大模型的。

今天,我注册了域名 os.ai,暂时放了一个 placeholder 网页,简单介绍我们正在构建的 AI 操作系统。

AI 操作系统是大语言模型和应用之间的桥梁。我们的专业团队致力于提供低成本的解决方案,构建高可预测性、高可控性的生成式 AI 基础架构,支持生成文本、图片、视频、3D 元宇宙、生成式助理(generative agents)。

为什么我们需要 AI 操作系统?目前的大模型在成本、可预测性、多模态、评估测试等方面存在很多挑战,我们相信不仅需要模型本身的改进,更关键的是与数据和系统紧密协同设计。

低成本

目前使用 GPT-4 阅读一篇论文需要 10 美元,用 Runway ML 生成一段 7.5 分钟的视频需要 95 美元。

我们作为 AI 基础架构的专家,通过自建最前沿的 GPU 组成的 AI 数据中心,以及协同优化模型、数据和底层硬件架构,提供低成本的生成式 AI 服务。

可预测性

  • 在模型层面上减少幻觉
  • 沙盒化
  • 系统/用户权限隔离(避免指令注入)
  • 事实性校验
  • 可靠地执行长流程任务
  • 集成行业私有数据集和数据库

多模态

低成本的文本、图片、3D 元宇宙、个性化生成式助理的创作管线,生成细节具有高度可控性。

  • 文本 → 图片/视频/3D 模型
  • 文本 + 图片 → 图片/视频/3D 模型
  • 文本 + 视频 → 视频/3D 模型
  • 文本/图片/视频 → 个性化生成式助理

模型评估

在开放环境中对大语言模型自动进行高吞吐量的评估、测试和选择。使能大语言模型市场,使能生成式助理构建的元宇宙。

目前 AI 操作系统还仅仅是个初步概念,其中很多技术仍然在研究中,欢迎关注 os.ai,让我们期待大模型 AI 操作系统的来临。

Read More

2023-08-07
如何用技术手段防止屏幕拍照、文件上传等泄密

(本文首发于 知乎

涉及机密信息的公司,一般会划分为低密区、中密区、高密区:

  • 低密区:对于图像流、视频流、信息流,具有一定的泄露检测和溯源能力;
  • 中密区:对于图像流、视频流、信息流,具有一定的事前泄露阻断和检测能力,具有很强的事后泄露溯源能力;
  • 高密区:对于图像流、视频流、信息流,具有很强的事前泄露阻断能力。

高密区是最简单的,物理隔离,门口放上安检仪,手机、U 盘等电子设备都不允许带进去。

中密区和低密区是比较困难的,因为里面的办公电脑能上外网,手机也能带进办公室。以下从泄露阻断、泄露检测和泄露溯源几个维度来讲怎么维护信息安全。泄露阻断是指让数据泄漏不出去,泄露检测是在数据泄露可能发生的时候能够发现并上报,泄露溯源是指数据已经泄露的时候能够追查到是谁泄露出去的。

Read More

2023-08-05
AI 集群该用 RoCEv2 还是 Infiniband

(本文首发于 知乎

各大互联网公司基本上都在部署 RDMA 技术,目前主要的场景就是存储和 AI/HPC,主要分为两个技术路线,RoCEv2 和 Infiniband。

RoCEv2 是 RDMA over Ethernet,就是在传统的数据中心以太网络上面跑 RDMA 协议。Infiniband(IB)的历史就更长了,上世纪 80 年代的 HPC 高性能计算集群用的都是 IB。

RDMA 网卡目前的老大是 NVIDIA 收购的 Mellanox。可以说,RoCEv2 是社区版 RDMA,Infiniband 是企业版 RDMA。社区版的优势在于开放,可配置的东西多,但这也是它的缺点,只有网络专家才能玩得转。而且大规模 RoCEv2 集群还不是一个网络专家就能玩得转的,需要一个团队来搞定 PFC 风暴问题和网卡交换机各种奇奇怪怪的问题。当然,如果只有几台机器和一个交换机,网卡都是同一型号的,这种小规模集群用 RoCEv2 基本上也不会遇到什么问题。

RDMA 这个圈子很小,基本上都有一定的学术背景,如果对上述问题都没听说过,那还是老老实实用 IB 吧,稍微多花点钱,简单省事。我听说有的 AI 公司觉得只要买 A100/H100 就够了,连 SXM 版和 PCIe 版都分不清,也不知道需要买 IB 网卡和交换机才能实现大规模训练,以为用普通 10G 网络连起来就行,这种最好找一个卖 AI 集群解决方案的给配好 IB 网卡、交换机和网络拓扑,千万别自己逞能,别为了省钱去碰 RoCEv2。

OpenAI 的 GPU 集群目前用的大多数是 Infiniband,现在一些中小型 AI 公司用的也是 IB。大多数大型公司的新建 GPU 集群用的是 RoCEv2,因为这些大厂要支持万卡以上的规模,IB 在这种规模上 scale 不上去,而且这种规模的公司成本很重要。有些大厂都已经开始自研网卡了。另外一个原因就是大厂有专业的网络团队,IB 这么封闭的东西很难调优,这让这些网络专家们怎么调性能写 PPT 呀。

Read More

2023-08-05
Load/Store 和缓存一致性有没有必要?

(本文首发于 知乎

CC(cache coherency,缓存一致性)可以分为两个场景:

  1. 主机内 CPU 和 device 之间的 CC
  2. 跨主机的 CC

主机内 CPU 和 device 之间的 CC

我认为主机内 CPU 和 device 之间的 CC 是非常必要的。2017 年我在微软实习的时候,用 FPGA 做了一块内存挂到 PCIe 的 bar 空间上,真能在这块 bar 空间上跑起来一个 Linux 系统,但是本来只要 3 秒的启动流程花了 30 分钟,比 host memory 慢了 600 倍。这就是因为 PCIe 不支持 CC,CPU 直接访问 device memory 只能是 uncacheable 的,每次访存都要通过 PCIe 去 FPGA 转一圈,效率低得不行。

因此目前 PCIe bar 空间只能用来让 CPU 给 device 下发 MMIO 命令,数据传输必须通过 device DMA 来进行。因此现在不管是 NVMe 盘还是 RDMA 网卡,都必须走 doorbell-WQE/command-DMA 这一套复杂的流程,如下图所示。

Read More
RSS