Auzdora
Think & AI & Systems

What I cannot create, I do not understand.












关于LLM Infra的思考和总结

最近刷到一篇有关传统Infra和AI Infra之间联系的知乎文章,目前也在基架岗位实习,结合工作的内容以及自己目前关于LLM推理学习到的一些知识,触发了一些联想。想把这些不成熟的个人想法记录下来,也顺便作为一个学习的总结。 What is Infra 基础架构指的是支撑软件系统正常运行的一整套底层技术和资源,包括计算、存储、网络、操作系统、中间件等等。举一个例子,对于一个社会或者国家的运...

CUDA Basics

最近打算实现一个支持CPU/GPU后端计算的大模型推理框架,写GPU的算子需要一些CUDA编程的基础。虽然之前自己写过一个简单的类似Pytorch的基于Python前端,CUDA后端的AI训练框架,在当时学过一点CUDA,同时硕士期间也上过有关CUDA的课程,但由于都是几年前的知识,而且当时也没有即使做笔记记录,导致现在已经全部忘光了。这篇博客的主要目的就是记录一下有关GPU/CUDA的基础知识...

Build your own tokenizer in LLM

Tokenization对于基于Transformer的大语言模型来说至关重要。由于物理硬件的限制,大语言模型只能理解binary类型的数据,所以tokenizer充当着字符串string到integer的翻译工具。但是tokenizer并非只是保存着字符与数字的映射这么简单。这篇文章是对自己学习tokenizer过程的一个总结,参考Andrej Karpathy的视频"Let's build ...

Networking TCP Reciever

在checkpoint0中,实现了一个流控制的byte stream抽象。在checkpoint1中,实现了一个reassembler,它可以将接受到的数据按照原来的数据流顺序组装起来。在本实验中需要实现一个TCP Reciever,这是TCP协议中的一个组件。 TCP Reciver在接受peer’s sender的信息后,也会向peer’s sender发送一个消息,通过send()方法。...

Networking Reassembler

最近在疯狂科研中,无数次尝试不同的方法,调各种各样的参数。闲暇之余想了解一下TCP内部的原理,看到CS144的Lab有这个实验,开一个新的坑,不知道在忙碌的研二期间能不能完成... Task Lab的任务是基于上一个lab实现的stream抽象,实现一个TCP receiver:将接受到的datagram变成一个可靠有序的字节流。从TCP sender的角度讲,它会把字节流分割成segment...