2023-09-14
AI 自动翻译的博士论文

既然把博客内容翻译成了英文,那么自动翻译博士论文有没有可能呢?我的博士论文有 200 多页,而且里面有很多图,AI 能自动把这么多 LaTeX 代码翻译得一字不差吗?论文里面的图怎么翻译?

首先,把原来翻译 Markdown 的 prompt 改成翻译 LaTeX 的。原来翻译 Markdown 的时候,我是把内容按行分隔,连续的几行凑够 2048 个字符,就请求一次 GPT-4。在翻译 LaTeX 的时候仍然这样做。

就像 Markdown 一样,GPT-4 输出的内容经常有前缀和后缀,好在设置为 temperature = 0.1 之后前缀和后缀都比较固定,可以写个后处理脚本直接给去掉。此外,GPT-4 对 LaTeX 中的转义字符不够了解,例如典型的下划线 _、美元符号 $ 和制表符 &,经常没有转义导致语法错误。这也是可以通过后处理脚本,用一些规则识别到底需不需要转义,如果需要转义就自动加上。

总的来说,GPT-4 的 LaTeX 能力是不错的,除了把一些 reference 给搞乱了导致引用变成问号了,其他的地方都没什么问题。经过后处理脚本后直接就可以编译了。

其次,为了翻译论文里面的图,我首先尝试了一些 PDF 翻译工具,发现没有一家能用,这些工具都只能翻译 PDF 中的大块文字,对于架构图,只会把整张图都搞得乱七八糟。因此,我用了图片翻译的方法。首先把 PDF 转成图片,然后调用有道图片翻译 API,如果识别出了中文字符,就把用翻译出的图片替换原来的 PDF;如果没有识别出任何中文字符(例如一些实验结果图),就保留原样。

其实有道图片翻译的原理也是先对图片做 OCR,把识别出的每个文字块逐个翻译,再用翻译后的文字块替换掉图片原来位置上的文字。我感觉对于 PDF,这也是可以做的,而且可以保持 PDF 仍然是矢量图。希望做 PDF 翻译工具的改进一下。

整个翻译花了半天时间,一些小问题也懒得修了。虽然翻译质量肯定不如手写的,尤其是图片翻译质量一般,但是基本上能看了。除了对 ustcthesis.cls 做了一些微调(例如把英文封面放在中文封面前面)以外,没有对翻译后的内容做任何人工修改。

AI 自动翻译的版本: High Performance Data Center Systems with Programmable Network Interface Cards (PDF, 8 MB)

中文原版: 基于可编程网卡的高性能数据中心系统 (PDF, 8 MB)

现在 arxiv 上面的 paper 都是有 LaTeX 源码的,按照这个方法,都可以直接翻译成中文论文了。希望哪天多模态模型能强到只需要 PDF,不要 LaTeX 源码,就能做翻译,这就厉害了。

Read More

2023-09-12
PLDI '21 Talk Transcription: AKG: Automatic Kernel Generation for Neural Processing Units using Polyhedral Transformation

Jie Zhao, Bojie Li, Wang Nie, Zhen Geng, Renwei Zhang, Xiong Gao, Bin Cheng, Chen Wu, Yun Cheng, Zheng Li, Peng Di, Kun Zhang, Xuefeng Jin. AKG: Automatic Kernel Generation for Neural Processing Units using Polyhedral Transformations. 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI’21). Virtual, Canada, June 20-25, 2021. pp.1233-1248. [Paper PDF] [Slides by Jie Zhao]

Read More

2023-09-12
SIGCOMM '19 Talk Transcription for SocksDirect: Datacenter Sockets can be Fast and Compatible

大模型真的很厉害,这个 SIGCOMM 2019 的演讲完全是脱稿讲的,从视频中可以看出我是站在舞台中间,没有看 speaker notes。我当时的英语也不怎样,经常打磕巴,而且音频录制还有回声,自己听着都有点费劲。没想到大模型能把这么差的语音都识别的差不多全对,太牛了。

识别的方法在这里。这个视频由于录制的屏幕不够清晰,我是用原始 PPT 导出的图片替换了视频中提取的图片。大家可以看看用这个视频中的音频,市面上的语音识别软件能达到多高的识别率。我试过的,包括 Google Speech-to-Text 和 Whisper,基本上都不能用。

SocksDirect: Datacenter Sockets can be Fast and Compatible. [PDF] [Slides] [Video]
Bojie Li, Tianyi Cui, Zibo Wang, Wei Bai, Lintao Zhang.
Proceedings of the 2019 SIGCOMM Conference (SIGCOMM’19).

Read More

2023-09-12
SIGCOMM '21 Talk Transcription for 1Pipe: Scalable Total Order Communication in Data Center Networks

Bojie Li, Gefei Zuo, Wei Bai, and Lintao Zhang. 1Pipe: Scalable Total Order Communication in Data Center Networks. SIGCOMM ‘21. [Paper PDF] [Slides with audio (25 min)] [Slides with audio (12 min)]

Read More

2023-09-12
发布博客英文版本

为了方便国际友人阅读我的博客内容,使用 GPT-4 将本站内容自动翻译成了英文:

自动翻译的英文版

中文版主站

Read More

2023-09-10
A100/H100 太贵,何不用 4090?

(长文预警:本文约 16000 字)

这是一个好问题。先说结论,大模型的训练用 4090 是不行的,但推理(inference/serving)用 4090 不仅可行,在性价比上还能比 H100 稍高。4090 如果极致优化,性价比甚至可以达到 H100 的 2 倍。

事实上,H100/A100 和 4090 最大的区别就在通信和内存上,算力差距不大。

H100 A100 4090
Tensor FP16 算力 989 Tflops 312 Tflops 330 Tflops
Tensor FP32 算力 495 Tflops 156 Tflops 83 Tflops
内存容量 80 GB 80 GB 24 GB
内存带宽 3.35 TB/s 2 TB/s 1 TB/s
通信带宽 900 GB/s 900 GB/s 64 GB/s
通信时延 ~1 us ~1 us ~10 us
售价 $30000~$40000 $15000 $1600

NVIDIA 的算力表里面油水很多,比如 H100 TF16 算力写的是 1979 Tflops,但那是加了 sparsity(稀疏)的,稠密的算力只有一半;4090 官方宣传 Tensor Core 算力高达 1321 Tflops,但那是 int8 的,FP16 直只有 330 Tflops。这篇文章的第一版就是用了错的数据,H100 和 4090 的数据都用错了,得到的结论非常离谱。

H100 这个售价其实是有 10 倍以上油水的。2016 年我在 MSRA 的时候,见证了微软给每块服务器部署了 FPGA,把 FPGA 打到了沙子的价格,甚至成为了供应商 Altera 被 Intel 收购的重要推手。2017 年我还自己挖过矿,知道什么显卡最划算。后来在华为,我也是鲲鹏、昇腾生态软件研发的核心参与者。因此,一个芯片成本多少,我心里大概是有数的。

鲲鹏的首席架构师夏 Core 有一篇知名文章《谈一下英伟达帝国的破腚》,很好的分析了 H100 的成本:

把他的成本打开,SXM 的成本不会高于 300$,封装的 Substrate 及 CoWoS 大约也需要 $300,中间的 Logic Die 最大颗,看上去最高贵 :) 那是 4nm 的一颗 814mm2 的 Die,TSMC 一张 12 英寸 Wafer 大致上可以制造大约 60 颗这个尺寸的 Die,Nvidia 在 Partial Good 上一向做得很好(他几乎不卖 Full Good),所以这 60 颗大致能有 50 颗可用,Nvidia 是大客户,从 TSMC 手上拿到的价格大约是 $15000,所以这个高贵的 Die 大约只需要 $300。哦,只剩下 HBM 了,当前 DRAM 市场疲软得都快要死掉一家的鬼样了,即使是 HBM3 大抵都是亏本在卖,差不多只需要 $15/GB,嗯,80GB 的容量成本是 $1200。
TSMC 曾经讲过一个故事。台湾同胞辛辛苦苦攒钱建厂,一张 4nm 那么先进的工艺哦,才能卖到 $15000,但是那某个客户拿去噢,能卖出 $1500000($30000*50)的货啦,机车,那样很讨厌耶。你懂我意思吗?
就如最开始说的,在这个世界的商业规则下,$2000 成本的东西卖 $30000,只有一家,销售量还很大,这是不符合逻辑的,这种金母鸡得有航母才守得住。

据说微软和 OpenAI 包下了 H100 2024 年产能的一半,猜猜他们会不会发挥当年跟 Altera 砍价的传统艺能?会真的花 $40,000 * 500,000 = 200 亿美金去买卡?

咱们再分析下 4090 的成本,5nm 的 609mm2 Die,大约成本是 $250。GDDR6X,24 GB,按照 1 GB $10 算,$240。PCIe Gen4 这种便宜东西就算 $100 吧。封装和风扇这些东西,算它 $300。总成本最多 $900,这样的东西卖 $1600,算是良心价了,因为研发成本也是钱啊,更何况 NVIDIA 的大部分研发人员可是在世界上程序员平均薪酬最高的硅谷。

可以说,H100 就像是中国一线城市的房子,本身钢筋水泥不值多少钱,房价完全是被供求关系吹起来的。我在 LA 已经住了两周,公司租的房子使用面积是我北京房子的 4 倍,但售价只贵了 30%,还带个小院,相当于单位面积的房价是北京的 1/3。我跟本地的老外聊天,他们都很吃惊,你们的平均收入水平比 LA 低这么多,怎么买得起北京的房子的?

问题来了,如果 4090 这么香的话,为啥大家还要争着买 H100,搞得 H100 都断货了?甚至 H100 都要对华禁售,搞出个 H800 的阉割版?

Read More

2023-09-08
APNet'23 Talk Transcription for FastWake: Revisiting Host Network Stack for Interrupt-mode RDMA

虽然大多数人比较喜欢看视频,但是我更喜欢看文字,因为文字便于非线性查找,可以快速跳读,也便于随时回顾前面的内容。

最近,我把我在学术会议上的一些演讲视频转成了文字,例如 ClickNPKV-Direct计算机网络的新黄金时代系列,今天发布的是 APNet 2023 上的 FastWake。在 ClickNP 和 KV-Direct 演讲前,我都是先在 PPT 的备注里写好稿子,到场上直接对着备注念。今年连 PPT 都是会议前一天才赶完的,更没有时间写备注了,甚至都没有完整的练习一遍,我就直接上台去讲了。

现在有了大模型,把演讲视频转成 PPT + 文字稿一点都不难。其实我一直想做个这样的在线会议插件。

  1. 把视频中的关键帧提取出来组成 PPT 图片列表。每帧和前一帧的差异如果超过一定阈值,就认为是切换了一页 PPT。有一个开源软件 video2pdf 就能做到。
  2. 把每张图片 OCR 成文字,都是打印字符,识别准确率很高,Tesseract 就可以。
  3. 把停留在每页 PPT 上的视频音轨提取出来,交给 Speech-to-Text 模型识别,例如我用的是 OpenAI 开源的 Whisper
  4. (最后一步很重要)让大语言模型(例如 GPT-4)以 OCR 出来的当前页 PPT 和首页 PPT 内容为参考,修正 Speech-to-Text 模型识别出的 transcription。

Speech-to-Text 模型目前对于专有名词和人名的识别准确率并不高,但是这些专有名词很多是在这一页 PPT 中出现过的,PPT 首页也框定了演讲的标题和领域。因此以 PPT 内容为参考,大语言模型可以修正大部分的专有名词识别错误。如果没有 PPT 内容作为参考,需要 GPT-4 才能修正大部分的专有名词,但有了 PPT 内容,LLaMA-2-70b-chat 就足够了。此外,大语言模型可以修正演讲中口语化的表达,让文字稿更严谨、易读。

以下文字稿完全为自动生成,除了几个人名,一字未改。当然,一些小错误也就保留了,但是都无伤大雅。整个过程中用到的 Video2PDF、Tesseract、Whisper 和 LLaMA-2-70b-chat 模型都跑在我自己的 Mac 笔记本上,全程无需联网。

Read More

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
RSS