主流 AI 实际使用体验(组合学答题方面)
进入到了 2025 年,各家的 AI 模型可以说已经是强到不像话了,尤其是 DeepSeek 发布自己的模型之后,各家更是都要卷飞了,尤其是各个大厂,不仅卷性能,卷价格,使用体验上也可以说是卷飞了,正好最近高强度使用了 Google Gemini 2.5 Pro、DeepSeek R1(官网版本)和 ChatGPT o3,浅浅的评测一下。需要注意的是测试时间是 2025.4.22,模型性能可能会根据时间的不同而变化,所以这个评测结果是有时效性的。 整体使用体验 整体的使用体验,我觉得是 Google Gemini 2.5 Pro > ChatGPT o3 > DeepSeek R1。 UI UI 上 Gemini 和 ChatGPT 是真的有打磨的很好,但是 DeepSeek 就很粗糙了,但是这也很正常,毕竟 DeepSeek 这个官网模型就相当于是一个“样板间”一样的东西,甚至也没有收费这一说。 生成速度 生成速度方面 Google Gemini 2.5 Pro 一骑绝尘,真的太快了,ChatGPT o3 也可以接受,但是 DeepSeek...
学习日志(2025-4-21)
今天基本上一直在写 Math 475 的 midterm 2,然后看了 UCSD 的 CSE 234 的 required reading 1.1,一本挺不错的电子书,哈佛的一本开源书,笑死了,而且还找到了一处笔误,在我的 notes:mlsysbook 里有写,之后用空可以提个 PR。感觉现在我能做的贡献全是这样的校对工作,虽然感觉没什么太大创造力,但感觉还是又一些意义。 Math 475 的 midterm 2 才写到第六题,但如果按照计划我应该给他写完,还有满打满算 5 个小时,加把劲! 晚上睡觉前也把 Stat 333 的 thesis statement 给交了,虽然基本不用时间。 
学习日志(2025-4-20)
今天上午踢了个球,基本上剩下的时间都在写这个 CS 525 的 HW5,写的真是头晕脑胀的,但不得不说感觉一些概念稍微清晰了一些,本来还打算读一读 UCSD 的 CSE 234 的 required reading,但感觉确实是学不动了。 本来踢完球应该洗个澡,但是当时想着晚上稍微早点回来,然后洗澡睡觉,但是被 Kan 拖住了,一直在图书馆。不得不说又发现了一个好地方,memorial library 的 computer lab,全是很好的显示器,晚上还没人,还里 domain 或者 route A bus stop 近,天选自习室。哎,啥时候国内也能有这样子的地方就太好了。 STAT 333 的 HW4 扣了 40 分,足足 40%,因为直接少了一块 visualization 的部分,下次在写这个作业我一定要小心,仔细读好要求。 感觉还是挺充实的,但是我的 intern 又没时间搞了,明天还要写 Math 475 的 take-home midterm 2,这个也是非常离谱的大作业,要花很长时间去慢慢做。 哎,情感上又遇到了大挫折,不过这是学习日志,就不在这里写了。 
学习日志(2025-4-19)
今天又是充实的一天,把 UCSD 的 CSE 234 第一周的 slides 和 recording 看完了,不过 required reading 还没看,如果可以的话今天或者明天给他看完。不得不说 Hao 老师讲话真快,看过很多课的 recording 感觉这是唯一一个我看了没有一点开倍速欲望,甚至还有减速欲望的。 还有重温了一下 LSTM,之前只看过 LSTM 的论文,或者只看过李沐讲 LSTM,确实没看过 llya 在 NIPS 2014 上的 talk,很短,但还是挺 impresive 的。llya 的口音真是很神奇,就他说的非常流畅,也很清楚,而且甚至似乎还有点好听。 
建立个人 Blog 网站
耗时两天,也算是成功搭建起了自己的Blog网站,其实之前就有试过搭网站,用的WordPress,其实也算成功,但是似懂非懂,当时又是为了找一个Intern才专门看了看,最后也没被录取,就没继续看相关的技术了,最近正好有时间,就有看了看怎么搭网站,终于成功了,还是挺有意思的,那么作为正式的第一篇Tech...
Docker 概览 & Docker 命令总结
Docker 概览 & Docker 命令总结  一、Docker 基础概念与原理 什么是 Docker? Docker 是一个开源的容器平台,用于打包、分发和运行应用程序及其所有依赖项。  把应用、运行环境、依赖打包成一个“镜像” 运行镜像就生成一个“容器”,容器彼此隔离,不影响宿主机  核心概念:    名称 说明     镜像 Image 应用 + 环境的静态模板   容器 Container 镜像的运行实例   Dockerfile 描述如何构建镜像的脚本   Registry 镜像仓库,例如 Docker Hub    Docker 工作原理(Linux 容器机制)  利用 Linux 的 namespace(隔离)和 cgroups(资源限制)实现 容器共享宿主机内核,但拥有独立文件系统、网络、进程空间 启动速度极快,资源占用小   二、Docker 镜像构建机制与实践 镜像是分层构建的  每个 Dockerfile 指令都会生成一个只读的文件系统层 构建时 Docker 利用缓存提升效率  Dockerfile...
Git 命令总结
Detail 同步 fork 与原始仓库(Upstream) 第一次配置 upstream git remote add upstream https://github.com/original-user/original-repo.git  给 fork 的仓库添加原始仓库作为 upstream  每次同步更新流程 git fetch upstream              # 拉取原始仓库更新git checkout main               # 切换到 main 分支git merge upstream/main         # 合并 upstream 的 main 到本地 maingit push origin main            # 推送更新后的 main 到 GitHub fork  用于保持 fork 与原始仓库同步  查看所有远程仓库 git remote -v  显示当前配置的远程仓库地址,包括 origin 和 upstream   合并 main 到某个分支 git checkout feature-x          #...
MoE 中 All-to-All 通信机制
本文主要介绍了 All-to-All 通信机制,以及为什么需要这个机制。 一、All-to-All 是什么? 在分布式 Mixture-of-Experts(MoE)模型中,All-to-All 是一种通信操作, 用于在多个 GPU 之间交换 token 和专家(Expert)之间的数据。 每个 GPU 上都有输入 token,而每个 Expert 分布在多个不同的 GPU 上。 Gate 网络决定每个 token 应该由哪些专家处理,因此 token 需要被动态发送到目标 Expert 所在的 GPU。 这正是 All-to-All:每个 GPU 既向其他 GPU 发送数据,也接收来自其他 GPU 的数据。  二、为什么 MoE 模型需要 All-to-All? 1. Expert 是独立的,但 Token 是全局的  每个 Expert 的参数是本地的,只存在于某个 GPU 上。 但 token 是通过数据并行划分的,分布在所有 GPU 上。 每个 token 的 gate 结果可能指向任意 GPU 上的 Expert。  因此,token 必须被跨设备发送到它所选中的...
AllReduce & Bucketing
本文主要介绍了 AllReduce 和 Bucketing 分别是什么,和他们之间的联系。 一、AllReduce 是什么? AllReduce 是分布式训练中的一种集体通信操作, 用于在多个 GPU(worker)之间同步张量(通常是梯度)。 典型流程如下:  每个 GPU 独立计算自己的梯度张量(如 grad)。 所有 GPU 通过 AllReduce 操作,将各自的张量求和/平均,获得全局一致的梯度。 每个 GPU 使用这个同步后的梯度更新模型参数。  AllReduce 是数据并行训练中实现模型同步的关键机制。  二、为什么 AllReduce 会成为性能瓶颈?  模型中参数众多,梯度张量数量也很多。 每个张量如果单独 AllReduce,通信次数极多。 小张量通信无法充分利用带宽,且频繁启动通信带来显著延迟(latency)。   三、Bucketing 是什么? Bucketing 是一种优化 AllReduce 通信效率的策略, 将多个小张量合并成一个大 “bucket”,再一次性执行 AllReduce。 核心思想:Batch Small Reduces...