【ARTS】Week 1
Algorithm
除了刚毕业那会儿,工作以来从来没有正经刷过算法题呢,不知道算是幸运还是不幸 -0 -,借此打卡机会从头开始刷吧,以备日后不时之需 ^ _ ^
【简单】两数之和
https://leetcode.cn/problems/two-sum/
题目
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
考察点
数组、哈希表
解法
自己的解法
很容易想到的就是双层 for 循环,但是时间复杂度 n2 次方,很显然太暴力不优雅。但是想了一会儿也没想到太好的方法,偷瞄了下官方的解法是用哈希表,就灵光一现写了出来。哎,争取下次能自己先想到吧……
官方解法
Review
由于工作和 AI 相关,每周的 Review 就定为 AI 相关的论文吧,第一篇就从最经典的《Attention Is All You Need》开始吧,从 Bert 到 ChatGPT,attention 和 transformer 现在真得火到爆了,工作中也是每天都打交道,原论文却没有正式的读过,借此机会重读经典!本周先来学习论文的前两小结。
原文链接
概述
这里推荐一下李沐大神在 B 站对这篇论文的精读:https://www.bilibili.com/video/BV1pu411o7BE/
笔记
Abstract
提出了一种全新的简单的模型架构 Transformer,摒弃了传统的 RNN 和 CNN 结构,完全使用 attention 机制,不仅训练时间缩短,还在多个 NLP 任务中获得非常好的效果,并预言将来会用到更多的场景中(发现预言家,刀了……)
Introduction
回顾了 RNN 的不足,基于自回归机制,RNN 要维护一个隐状态,该隐状态取决于上一时刻的隐状态,不能并行计算,而最终的隐状态所包含的信息不足,序列越长对早期的信息遗忘越多。所以提出了 Transformer 架构,使用注意力机制来学习输入输出之间的序列关系,表现力更强,还可以并行计算。
Tips
最近在使用 tritonserver 作为推理服务的框架,它的模型编排,模型自动加载,支持多种 backend 的功能是真的香!但使用过程中也遇到了一些坑,比如有些模型在 GPU 推理比较快,到 CPU 就很拉胯。而很多时候生产环境部署,不得不使用 CPU,经过一番折腾测试,发现加入以下参数可以大幅提高 onnxruntime backend 在 CPU 下并发性能和稳定性。
优化参数详见:https://github.com/triton-inference-server/onnxruntime_backend/blob/main/README.md
Share
人因梦想而伟大
又因坚持梦想而成长
-- 雷军
前几天看了雷布斯的演讲,其中一个片段很有感触,说的是为了和徕卡提升摄影效果,在小米内部开设摄影班,让大家都参与进来学习摄影,在长城办影展,最终发布徕卡双画质的手机,得到用户的好评。这种说做就做,有想法,有执行力,为梦想而坚持的精神,值得学习!
评论