小红书-机器学习系统工程师
一面
职位描述
发信人: sguuaa (今心), 信区: JobInfo 标 题: 【内推】【校招】【实习生】小红书招聘机器学习系统工程师 发信站: 北邮人论坛 (Fri Sep 3 11:58:00 2021), 站内
小红书媒体智能团队主要负责计算机视觉和语音AI技术和系统平台建设。我们希望利用人工智能技术,结合AI和创作工具提升小红书用于在内容创作和发布侧的体验,通过对海量笔记多媒体素材的细粒度和多模态的理解,提升社区垂类内容建设,画风治理和内容分发的效果和效率。通过技术让亿级用户在小红书社区更自由便捷地创作和分享,记录和交流时代年轻人的正能量和美好生活。
现在团队招聘机器学习系统工程师,欢迎投递~
-
你会参与到的事情: 负责开发小红书内部机器学习系统,确保公司飞速增长的业务所需要的各类算法模型顺利生产和落地,服务于公司各个产品; 高效优化和部署计算机视觉、语音、自然语言处理等核心业务模型; 与算法紧密结合,分析性能瓶颈和系统架构,软硬件结合优化,实现极致性能;
-
我们希望你:
- 全日制计算机相关专业本科及以上学历;
- 至少熟练掌握Linux环境下 C/C++、Python、go、java中的一种语言;
- 掌握CS常见数据结构和算法,具备扎实的计算机科学功底和编程能力;
- 能够熟练使用至少一种主流的机器学习框架(TensorFlow / PyTorch等),熟悉框架内部实现;
- 有良好的文档能力
- 加分项(非必须, 没有背景也可以在实战中学习相关工作):
- 对深度学习训练/推理有实操经验;
- 有GPU开发经验,实现过深度学习算子;
- 有TensorRT使用经验;
- 熟悉并行计算算法,擅长各类并行编程;
- 熟悉模型剪枝、量化等优化方法;
- 熟悉 TVM、MLIR、GLOW 等模型优化工具。
- 有过AI Infrastructure 相关开发经验(分布式存储、高性能计算等等)
- 了解Kubernetes相关架构,对资源管理和任务调度有了解
- 熟悉 flask、django 等相关技术,有后端开发经验
- 参与过大规模分布式系统的设计、开发和维护,了解各类数据库、消息队列等组件的原理
福利:提供三餐,零食不限量~ 良好的团队氛围&技术氛围 实习生提供转正机会
投递方式:xiaoxiao6@xiaohongshu.com 也可添加微信 17600224218
语言
项目讨论
简易聊天室
- IPC有哪些方式?你为什么用共享内存?
- 把代码和简历上的内容对应起来,并做修改
- c/s模型位于单机系统 vs 网络和分布式系统
TCP实现C/S模型文件传输
- epoll/poll/select区别
- 边缘触发、水平触发
高性能计算
- "利用cuda编程,将paddle版本的mmdnn模型能够跑在tensorrt的预估引擎" -> 这一整段话我和别人都看不懂
模型优化
- 你能说一下模型蒸馏的全流程吗?
- 你能说说teacher是怎么训练children模型吗?
- 对于bert/ernie模型,哪些地方是需要优化的?
- 吞吐的提升都有哪些方法?
- pnr这个参数有什么用?怎么出来的呀?
- 头调成8个或者12个 ?
- 一次蒸馏需要多久,一周时间?
- 大模型和小模型差不多是什么意思?与数据有关?与loss的选择有关?(attention, hidden layer, hard label ?)
- 看过模型结构吗?
cache
batch
- 说说qq的模型是怎么做batch的?
- 开了batch之后有什么损失吗?造成多少的额外延迟?
- 哪些模型可以开batch,哪些模型不可以开batch?(视频、图搜、qt,query端)
- qt端可以开batch吗?怎么开?
- 会用到tensorrt的加速,实际上模型跑在paddle上面?对吗?
- 相关性模型,百度都有哪些模型?
- 精排、粗排模型上层打batch?
- 超时时间设置是多少? 15us
- batch 中 如何识别不同的 query? pos_id ?
- 图搜的模型、视频的模型怎么去打batch
总体感受:
- 代码能力不足;面试官反馈,"对于一纬的蓄水池至少也应该也出一个暴力的方法"
- 坚持一天一道leetcode题目,来保持代码能力(「想法->代码」实现的能力)
- 蓄水池代码
- 简易聊天室与生产者消费者 要求:1. 一写多读/多写多读 2. 写优先 3. 队列(满了就不生产了)
百度项目反思
- mxps也是C/S模型,这个具有高并发的特性吗?是哪些代码做的?或者说QPS这么高,算是高并发?或者说brpc/gsrpc是如何实现高并发的?
- 面试常问:你在这个项目里面具体做的是什么内容?