小米汽车 深度学习训练框架优化面经
- 一面
- 实习主要工作介绍;
- 千卡训练项目介绍;
- 竞赛项目介绍;
- 手撕:反转矩阵;
- 技术规划;
- 有什么其他offer;
- python深拷贝和浅拷贝区别;
- CPP的三种智能指针和用法;
- 写时拷贝原理
- 零拷贝原理
- 二面
- 大模型分布式训练的流程、并行策略考虑;
- 各种并行策略介绍;
- TP为什么有按行/列两种;
- 按行/列对应的是什么;
- Megatron-SP介绍,
- Transformer架构,有那些层、算子;
- encoder和incoder介绍,特点;
- FlashAttention介绍;
- online softmax介绍;
- block是软件还是硬件的;
- CUDA有哪些优化方法;
- 访存优化方法有哪些;
- 计算和访存如何overlap;
- L1和L2;
- 共享内存和L1的区别;
- CPP中的三种智能指针;
- 考虑过为什么会有共享智能指针嘛;
- AllReduce介绍,有那些实现方式;
- ring的通信容量分析;
- tree相比ring有什么优点;
- 手撕:合并两个有序链表;