腾讯 · 腾讯云 技术与产品方向

后台开发一面、二面面经

完整信息

25 条问法 · 23 道题

本篇目录
总的来说是一个做交付的组,一面问的很杂,表现出来的像是主要做运维,解决一些客户的线上问题,做一些 docker 的打包交付,vllm/sglang 只是想知道简单的配置选项 二面自我介绍完之后ld直接问我方向不是很匹配会不会去,我说不会,就友好结束了 腾讯云 - 技术与产品方向 a\. 自我介绍,对某AI芯片厂的经历比较感兴趣 i\. 讲一个实习中最有亮点的算子,遇到什么问题,怎么解决 ii\. 遇到过什么坑吗? iii\. 性能怎么调试?模型 -- 看op占比,算子 -- 看关键代码 iv\. 精度怎么调式?op -- 单测,模型 -- 逐层对比 v\. 对训练有什么了解吗,你们在训练过程中是如何做加速的?Torch 分布式? -- 了解比较少 b\. 怎么定位一个偶发的 bug,比如 vllm 里面 cuda 给你报一个 out of index,异步调用看不到准确函数栈 i\. CUDA DEBUG 宏,阻塞之后可以准确看到出问题的地方,抓输入,debug kernel ii\. 追问:如果就是线上偶发的呢,客户给你的?-- 不知道怎么回答了 c\. 怎么优化寒武纪 vllm 性能的 -- balabala d\. 对docker了解吗?打过包吗?K8s知道吗?打包的过程怎么尽可能减少层数和体积 e\. 量化了解吗?Fp16 -\> fp8 一定有提升吗?-- 首先硬件要支持,对部分矩阵乘可能起作用 f\. 写题 i\. Float sqrt 二分法,注意 0 - 1 之内的数 ii\. 简单括号匹配 g\. Linux - 一个进程为 D 代表什么 h\. Python 语法 i\. 什么时候用多线程什么时候用多进程? -- 知道 GIL 锁,会 block 住的用多进程 ii\. 值传递还是引用传递?打错了,我说值传递,但是传的是对象的指针,对象可以被修改 -- 应该是全部引用传递,不可变变量传的是值的引用 iii\. Async def?-- 讲了是用户态实现,底层不感知 https://zhuanlan.zhihu.com/p/698683843?share_code=ArOs4en6kUj9&utm_psn=2003149396813051736 iv\. 如果要实现一个 LLM 的压测,用什么?Async,因为多线程开销很大;追问具体怎么实现,怎么控制并发数,比如10000数据量100并发?不知道语法,讲了可以搞个信号量之类的变量用 atomic 来控制并发量 i\. vLLM i\. 性能评价标准 -- TTFT / TPOT ii\. 怎么在不增加资源的情况下减小 TTFT,有什么选项可以调?-- llm server 有关于 prefill / decode 优先级的选项用于控制 chunked prefill 之类的东西,可以使策略偏向 prefill 任务? iii\. 那你讲讲 chunked prefill -- balabala,提升了 decode 计算强度提高效率 iv\. Cuda graph 在 vllm 里面的作用?-- 对固定 shape 的输入可以建图,减少 kernel launch 的开销,追问只是对 decode 加速吗?
本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
    v. 对训练有什么了解吗,你们在训练过程中是如何做加速的?Torch 分布式? -- 了解比较少
  7. 07
    b. 怎么定位一个偶发的 bug,比如 vllm 里面 cuda 给你报一个 out of index,异步调用看不到准确函数栈
  8. 08
  9. 09
  10. 10
  11. 11
    d. 对docker了解吗?打过包吗?K8s知道吗?打包的过程怎么尽可能减少层数和体积
  12. 12
    d. 对docker了解吗?打过包吗?K8s知道吗?打包的过程怎么尽可能减少层数和体积
  13. 13
    e. 量化了解吗?Fp16 -> fp8 一定有提升吗?-- 首先硬件要支持,对部分矩阵乘可能起作用
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
    ii. 值传递还是引用传递?打错了,我说值传递,但是传的是对象的指针,对象可以被修改 -- 应该是全部引用传递,不可变变量传的是值的引用
  19. 19
  20. 20
    iv. 如果要实现一个 LLM 的压测,用什么?Async,因为多线程开销很大;追问具体怎么实现,怎么控制并发数,比如10000数据量100并发?不知道语法,讲了可以搞个信号量之类的变量用 atomic 来控制并发量
  21. 21
    iv. 如果要实现一个 LLM 的压测,用什么?Async,因为多线程开销很大;追问具体怎么实现,怎么控制并发数,比如10000数据量100并发?不知道语法,讲了可以搞个信号量之类的变量用 atomic 来控制并发量
  22. 22
  23. 23
    ii. 怎么在不增加资源的情况下减小 TTFT,有什么选项可以调?-- llm server 有关于 prefill / decode 优先级的选项用于控制 chunked prefill 之类的东西,可以使策略偏向 prefill 任务?
  24. 24
  25. 25
    iv. Cuda graph 在 vllm 里面的作用?-- 对固定 shape 的输入可以建图,减少 kernel launch 的开销,追问只是对 decode 加速吗?

相关公司