Sirin Schariac

Thinking will not overcome fear but action will.

动态异构GPU集群上的分布式训练

Sailor

Introduction 随着机器学习模型的规模指数级增长,高性能GPU供不应求。传统的分布式训练框架(e.g., NVIDIA的Megatron-LM和DeepSpeed)都是针对同构GPU且节点间带宽均匀的情况,然而现代数据中心可能包含多种GPU且分布在不同的区域。这种动态、异构且跨地域集群对分布式训练提出了三大核心挑战: 配置空间搜索复杂度高 异构GPU类型和跨区域部...

项目开发笔记-3

面向对象

关于方法(Method)与构造函数(Constructor) 特性 静态方法 实例方法 关键字 static 无static关键字 调用方式 类名.方法名() 对象名.方法名() 内...

项目开发笔记-2

基础知识

JVM 内存空间 包括栈,堆,方法区 栈是线程私有的,其生命周期与线程相同。其中存储的内容包括: 局部变量表:局部变量必须初始化,作用域限制在声明的方法或代码块。 操作数栈:用于方法执行的计算工作 动态链接:指向运行时常量池的方法引用 方法出口:存储方法返回的地址 堆是线程共享的,存储了几乎所有的对象实例和数组,也是垃圾收集器管理的主要区域。 方法区也是线程共享...

项目开发笔记-1

MVC,DDD与各类术语

MVC MVC是一种软件设计模式,即模型-视图-控制器(Model-View-Controller)。 模型 Model 代表了应用程序的核心数据和业务逻辑,包括数据的存取、验证和处理,业务规则的执行。 它不关心用户界面;只接受控制器的指令,不会直接处理用户输入;状态发生变化时,会通知相关的视图进行更新。 视图 View 视图负责将模型中的数据呈现给用户,是用户的交互界面,负责数...

SGLang

Structured Language Model Programs

SGLang:Efficient Execution of Structured Language Model Programs Introduction Language Model Programs用于调度和控制LLM的生成过程,LM programs有两项共同的特点,(1) 包含了多个穿插在控制流中的LLM调用(对于完成复杂任务和提高整体质量十分关键); (2) 接受结构化...

Leetcode 300 Longest Increasing Subsequence

动态规划与贪心二分

300. Longest Increasing Subsequence 原题 300. Longest Increasing Subsequence 本题一共有两种解决思路,首先是动态规划,想法和思路比较简单,复杂度为$O(n^2)$。另一种就是结合了贪心思想的二分查找,这种方法比较难以想到,但是复杂度更低,只有$O(n\log n)$。 动态规划思路 我们用dp[i]表示以num...

适用于并发LLM服务的高效的GPU池化

Aegaeon

Introduction Background GPU集群上运行的大模型对于资源的利用率十分不平衡,来自用户的请求模式难以预测,绝大部分的模型只会接收极少数的推理请求,资源浪费严重,17.7%的GPU资源只被用于服务1.35%的请求。而热门的模型则会承受超过其预留资源容量的突发流量的请求。 Existing Methods & Limitations 为了让每个GPU...

Leetcode Jump Game 1 & 2

贪心

Jump Game 原题 55. Jump Game 45. Jump Game II 这两道题都是比较经典的贪心场景,通过局部最优解得到全局最优解。 第一题要判定能否到达,第二题在保证能够到达的情况下需要最少几步。 T1解答思路 首先对于第一题来说,我们既然要判定能否到达,第一个想法肯定是每一步的时候我都判定一下当前最远能到哪,如果能到最后一个位置,那就成功了...

Leetcode 295 Find Median from Data Stream

大根堆与小根堆

Find Median from Data Stream 原题 295. Find Median from Data Stream 解答思路 本题涉及到一个比较重要且常见的问题,如何动态的去维护数组的中位数? 对于这个问题,既可以用红黑树来解决,也可以用堆来解决。但前者维护起来比较复杂,后者更加简单易用,所以我们通常采用堆来解决。 中位数能够将数组分为两部分,本题...

Leetcode 215 Kth Largest Element in an Array & 912 Sort an Array

快速选择与快速排序

Quick Select and Quick Sort 原题 215. Kth Largest Element in an Array 912. Sort an Array 解答思路 这两道题都涉及到一个重要的排序思想:快速排序。而快速排序的核心就是快速选择算法。 对于一个无序的数组,我们要如何找到第k大的元素呢? 对于一个递增的数组,第k大的元素的下标应该是n...