├── adongwanai.jpg ├── 阿东玩AI-大模型简历模板.pdf ├── .gitignore ├── Makefile ├── resume-photo.cls ├── resume-photo.tex ├── fontawesome5 └── make-fontawesome5.py ├── resume-model.tex ├── resume-zh.tex ├── README.md └── resume.cls /adongwanai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adongwanai/LLM-Resume-Template/HEAD/adongwanai.jpg -------------------------------------------------------------------------------- /阿东玩AI-大模型简历模板.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adongwanai/LLM-Resume-Template/HEAD/阿东玩AI-大模型简历模板.pdf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SpecStory files 2 | .specstory/ 3 | .cursorindexingignore 4 | 5 | # LaTeX auxiliary files 6 | *.aux 7 | *.log 8 | *.out 9 | *.toc 10 | *.synctex.gz 11 | *.fls 12 | *.fdb_latexmk 13 | *.xdv 14 | 15 | # macOS 16 | .DS_Store 17 | 18 | # Editor files 19 | *.swp 20 | *.swo 21 | *~ 22 | .vscode/ 23 | .idea/ 24 | 25 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | DEPS:= resume.cls 2 | SRCS:= resume-zh.tex resume-en.tex 3 | PDFS:= $(SRCS:%.tex=%.pdf) 4 | PDFCAT:= resume-zh+en.pdf 5 | 6 | DATE= $(shell date +%Y%m%d) 7 | DISTDIR= resume.$(DATE) 8 | 9 | all: $(PDFCAT) 10 | en: resume-en.pdf 11 | zh: resume-zh.pdf 12 | 13 | $(PDFCAT): $(PDFS) 14 | gs -dBATCH -dNOPAUSE -dPrinted=false \ 15 | -sDEVICE=pdfwrite \ 16 | -sOutputFile=$@ \ 17 | $(PDFS) 18 | 19 | %.pdf: %.tex $(DEPS) 20 | latexmk -xelatex $< 21 | 22 | dist: all 23 | mkdir $(DISTDIR) 24 | cp Makefile $(DEPS) $(SRCS) $(PDFS) $(DISTDIR)/ 25 | tar -cjf $(DISTDIR).tar.bz2 $(DISTDIR)/ 26 | rm -r $(DISTDIR) 27 | 28 | clean: 29 | for f in $(SRCS); do \ 30 | latexmk -c $$f; \ 31 | done 32 | touch $(SRCS) 33 | 34 | cleanall: 35 | for f in $(SRCS); do \ 36 | latexmk -C $$f; \ 37 | done 38 | 39 | .PHONY: all en zh dist clean cleanall 40 | 41 | DOCKER_CLI?= sudo docker 42 | DOCKER_IMAGE:= resume:test 43 | DOCKER_CHOWN:= chown -R $(shell id -u):$(shell id -g) . 44 | 45 | # build the resume within an docker container 46 | docker: 47 | $(DOCKER_CLI) image inspect -f 'ok' $(DOCKER_IMAGE) 2>/dev/null || \ 48 | { \ 49 | rm -rf _empty && \ 50 | mkdir _empty && \ 51 | $(DOCKER_CLI) build --tag $(DOCKER_IMAGE) \ 52 | -f Dockerfile _empty && \ 53 | rmdir _empty; \ 54 | } 55 | $(DOCKER_CLI) run --rm --volume $(PWD):/build $(DOCKER_IMAGE) \ 56 | sh -c "cd /build && make clean && make && $(DOCKER_CHOWN)" 57 | 58 | podman: DOCKER_CLI=podman 59 | podman: DOCKER_CHOWN=: 60 | podman: docker 61 | 62 | .PHONY: docker podman 63 | -------------------------------------------------------------------------------- /resume-photo.cls: -------------------------------------------------------------------------------- 1 | \RequirePackage{expl3,l3keys2e} 2 | \ProvidesExplClass{resume-photo} 3 | {2022-12-26}{0.1.0}{Another Resume Class by Feng Kaiyu} 4 | 5 | % Keep Quiet 6 | \PassOptionsToPackage{quiet}{xeCJK} 7 | \ProcessOptions\relax 8 | \LoadClass[zihao=5,autoindent=0.5em]{ctexart} 9 | 10 | % Define paper size. 11 | \RequirePackage{geometry} 12 | % Remove the default header and footer. 13 | \RequirePackage{fancyhdr} 14 | % Redefine list style. 15 | \RequirePackage{enumitem} 16 | % Align all footnotes in a row. 17 | \RequirePackage[para]{footmisc} 18 | \RequirePackage[colorlinks=false,hidelinks,]{hyperref} 19 | % For the usage of `\CJKunderline`. 20 | \RequirePackage{xeCJKfntef} 21 | % Provide colors. 22 | \RequirePackage{xcolor} 23 | % For including images (photo). 24 | \RequirePackage{graphicx} 25 | 26 | \ExplSyntaxOn 27 | 28 | % Clean pagestyle. 29 | \pagestyle{empty} 30 | 31 | % Adopt A4 style but with smaller margins. 32 | \geometry{a4paper,margin=1cm, bottom=0.5cm} 33 | 34 | %%% Global Variables %%% 35 | 36 | % Store all contacts info. 37 | \seq_new:N \g__resume_contacts_seq 38 | % Store title name. 39 | \tl_new:N \g__resume_title_name_tl 40 | % Temp seq for parsing input clist in \ResumeContacts 41 | \seq_new:N \l__resume_input_seq 42 | % Store photo filename 43 | \tl_new:N \g__resume_photo_tl 44 | 45 | %%% Global Settings %%% 46 | 47 | % No page number. 48 | \pagenumbering{gobble} 49 | 50 | % Set the style of section title. 51 | \ctexset{ 52 | section = { 53 | nameformat = {}, 54 | number = {}, 55 | format = \noindent \zihao{4} \heiti \__resume_section_title_format:n, 56 | indent = -1em, 57 | afterskip = 0.5em, 58 | beforeskip = 0.2em, 59 | }, 60 | } 61 | 62 | % Set the style of list. 63 | \setlist{ 64 | labelsep=2pt, 65 | labelwidth=5pt, 66 | leftmargin=1.3em, 67 | itemsep=0em, 68 | parsep=0.20em, 69 | topsep=0em, 70 | } 71 | 72 | % Set the line spacing. 73 | \linespread{1.15} 74 | 75 | % New counter for bookmarks. 76 | \newcounter{resumebookmark} 77 | 78 | %%% User Commands %%% 79 | 80 | % Predefined commands. 81 | \cs_new:Npn \__resume_append_concat:n #1 82 | { 83 | \seq_put_right:Nn \g__resume_contacts_seq {#1} 84 | } 85 | 86 | % Predefined commands. 87 | \cs_new:Npn \__resume_section_title_format:n #1 88 | {#1 \vspace{3pt} \hrule} 89 | 90 | 91 | % Add a contant info. 92 | \NewDocumentCommand{\ResumeContact}{m} 93 | { 94 | \__resume_append_concat:n {#1} 95 | } 96 | 97 | % Add multiple contant info. 98 | % ``` 99 | % \ResumeContacts{ itemA, itemB, itemC } 100 | % ``` 101 | \NewDocumentCommand{\ResumeContacts}{m} 102 | { 103 | \seq_set_from_clist:Nn \l__resume_input_seq {#1} 104 | \seq_map_inline:Nn \l__resume_input_seq 105 | { 106 | \__resume_append_concat:n {##1} 107 | } 108 | } 109 | 110 | % Add your resume title, which generally is your name. 111 | \NewDocumentCommand{\ResumeName}{m} 112 | { 113 | \tl_set:Nn \g__resume_title_name_tl {#1} 114 | } 115 | 116 | % Set photo filename 117 | \NewDocumentCommand{\ResumePhoto}{m} 118 | { 119 | \tl_set:Nn \g__resume_photo_tl {#1} 120 | } 121 | 122 | % Render the title. 123 | \NewDocumentCommand{\ResumeTitle}{} 124 | { 125 | \tl_if_empty:NTF \g__resume_photo_tl 126 | { 127 | % No photo version 128 | \begin{center} 129 | \zihao{-2} \heiti \g__resume_title_name_tl 130 | \end{center} 131 | \vspace{-1.4em} 132 | \begin{center} 133 | \seq_use:Nnnn \g__resume_contacts_seq {~|~} {~|~} {~|~} 134 | \end{center} 135 | } 136 | { 137 | % With photo version 138 | \noindent 139 | \begin{minipage}[c]{0.73\textwidth} 140 | {\zihao{-2} \heiti \g__resume_title_name_tl} 141 | \vspace{0.3em} 142 | \par 143 | \seq_use:Nnnn \g__resume_contacts_seq {~|~} {~|~} {~|~} 144 | \end{minipage} 145 | \hfill 146 | \raisebox{-0.5\height}{% 147 | \includegraphics[width=2.5cm]{\g__resume_photo_tl}% 148 | } 149 | \par 150 | \vspace{0.5em} 151 | } 152 | } 153 | 154 | % Render the section title. 155 | % #1(optional): This content will be used as the bookmark in PDF. 156 | % #2: The title of the section. 157 | % #3(optional): The additional information of the section. 158 | % #4(optional): The right-aligned content, which normally will be the date range. 159 | \NewDocumentCommand{\ResumeItem}{omoo} 160 | { 161 | { 162 | \zihao{-4} 163 | \par 164 | \noindent 165 | { 166 | \heiti 167 | #2 168 | 169 | \IfValueTF{#1} 170 | { 171 | \pdfbookmark[2]{#1}{subsec:\arabic{resumebookmark}} 172 | } 173 | { 174 | \pdfbookmark[2]{#2}{subsec:\arabic{resumebookmark}} 175 | } 176 | \stepcounter{resumebookmark} 177 | } 178 | \IfValueT{#3}{ 179 | \tl_if_empty:nF {#3} { 180 | \ | 181 | \textit{ 182 | #3 183 | } 184 | } 185 | } 186 | \hfill 187 | \IfValueT{#4}{ 188 | #4 189 | } 190 | \par 191 | } 192 | } 193 | 194 | % Gray out the content. 195 | \NewDocumentCommand{\GrayText}{m} 196 | { 197 | \textcolor{gray}{#1} 198 | } 199 | 200 | % Render content with a hyperlink, marked with underline. 201 | \NewDocumentCommand{\ResumeUrl}{mm} 202 | { 203 | \href{#1}{\CJKunderline{#2}} 204 | } 205 | 206 | \ExplSyntaxOff 207 | 208 | \endinput 209 | -------------------------------------------------------------------------------- /resume-photo.tex: -------------------------------------------------------------------------------- 1 | % !TeX TS-program = xelatex 2 | \documentclass{resume-photo} 3 | 4 | % 字体(Overleaf 推荐用 Noto 系列,避免 SimSun 缺失) 5 | \usepackage{xeCJK} 6 | \setCJKmainfont{Noto Serif CJK SC} 7 | \usepackage{fontspec} 8 | 9 | % 紧凑排版 10 | \usepackage{enumitem} 11 | \setlist[itemize]{itemsep=2pt, topsep=2pt} 12 | \newcommand{\ExpItem}[3]{% 13 | \noindent\textbf{#1|#2} \hfill {\footnotesize #3}\\[-2pt] 14 | } 15 | 16 | \ResumeName{阿东玩AI} 17 | \ResumePhoto{adongwanai.jpg} 18 | 19 | \begin{document} 20 | 21 | \ResumeContacts{ 22 | 1XX-XXXX-XXXX,% 23 | \ResumeUrl{mailto:adong@tsinghua.edu.cn}{adong@tsinghua.edu.cn},% 24 | \textnormal{清华大学 | 计算机科学与技术 · 硕士 | 20XX-XX}% 25 | } 26 | 27 | \ResumeTitle 28 | 29 | 30 | % ====================== 简介 ====================== 31 | \noindent 清华大学计算机科学与技术专业硕士在读,预计 2026 年 6 月毕业。主攻大模型方向,在模型压缩与微调方面有深入研究和丰富实践。具备头部科技公司大模型算法实习经验,熟悉 LLaMA 架构、提示工程及性能优化。科研方面,以一作身份在 NeurIPS 发表论文,专注模型压缩与知识蒸馏。技术实践能力强,曾获 Kaggle 大模型微调比赛金牌,熟悉 PyTorch、DeepSpeed 及 Hugging Face Transformers 等开发框架与工具。 32 | 33 | 34 | % ====================== 教育 ====================== 35 | \section{教育背景} 36 | \ResumeItem 37 | {清华大学} 38 | [\textnormal{计算机学院 | 计算机科学与技术 | 硕士 | 专业排名前 5\%}] 39 | [2023.09—2026.06(预计)] 40 | 41 | \ResumeItem 42 | {清华大学} 43 | [\textnormal{计算机系 | 计算机科学与技术 | 学士}] 44 | [2019.09—2023.06] 45 | 46 | % ====================== 技能 ====================== 47 | \section{专业技能} 48 | \begin{itemize} 49 | \item 熟悉 Python 及 PyTorch 框架,掌握 Hugging Face Transformers 等大模型开发工具。 50 | \item 深入理解大模型微调技术,如 P-tuning、LoRA 等,并有丰富的提示工程实践经验。 51 | \item 熟悉 LLaMA 等主流模型架构,以及 RLHF、DPO 等偏好对齐方法。 52 | \item 掌握基于知识蒸馏的模型压缩方法,对大模型轻量化有深入研究。 53 | \item 熟悉 DeepSpeed 等分布式训练框架,具备大模型训练与部署性能优化能力。 54 | \item 了解 RAG、Agent 等 LLM 应用技术,对多模态大模型有研究与实践经验。 55 | \end{itemize} 56 | 57 | % ====================== 科研 ====================== 58 | \section{科研经历} 59 | 60 | \ResumeItem{基于强化学习的自主决策 Agent 系统研究} 61 | [] 62 | [2024.03—至今] 63 | 64 | \begin{itemize} 65 | \item \textbf{问题背景}: 现有 LLM-based Agent 在复杂任务中存在决策路径冗余、缺乏长期规划能力等问题,难以在多步骤任务中做出最优决策序列 66 | \item \textbf{研究内容}: 1) 提出基于 PPO 的 Agent 决策优化框架,将 LLM 作为策略网络,通过任务完成度、步骤效率等构建奖励函数,实现端到端的强化学习训练;在 ALFWorld、WebShop 等多个 Benchmark 上验证,对比 ReAct、Reflexion 等基线方法,任务成功率提升 12\%~18\%,平均决策步数减少 25\% 67 | \item 2) 设计分层强化学习架构,将复杂任务分解为高层规划和低层执行两个层次,高层 Agent 负责子目标分解,低层 Agent 负责具体动作执行;通过 Hindsight Experience Replay (HER) 提升样本利用效率,在稀疏奖励环境下收敛速度提升 40\% 68 | \item 3) 引入 Monte Carlo Tree Search (MCTS) 与 RL 结合的混合决策机制,在决策前进行多步模拟,优化探索-利用平衡;在长序列任务中,相比纯 RL 方法,样本效率提升 35\%,最终性能提升 8\% 69 | \item \textbf{相关成果}: 第一作者论文已投稿 NeurIPS 2026,目前处于 Under Review 状态;开源代码在 GitHub 获得 500+ stars 70 | \end{itemize} 71 | 72 | \ResumeItem{大模型知识蒸馏与模型压缩技术研究} 73 | [] 74 | [2023.09—2024.02] 75 | 76 | \begin{itemize} 77 | \item \textbf{问题背景}: 大规模语言模型部署成本高昂,在边缘设备和实时应用场景下难以满足推理延迟要求 78 | \item \textbf{研究内容}: 1) 提出基于层级知识蒸馏的模型压缩方法,同时对齐 Teacher 和 Student 模型的注意力分布、隐层特征和输出概率分布,在保持 95\% 性能的前提下,将 LLaMA-13B 压缩至 3B 参数量;2) 结合结构化剪枝和低秩分解技术,设计自适应剪枝策略,在 MMLU、GSM8K 等 Benchmark 上,相比标准蒸馏方法,平均性能提升 4.2\% 79 | \item \textbf{相关成果}: 第一作者论文发表于 NeurIPS 2024 (CCF-A),论文被引用 15 次 80 | \end{itemize} 81 | 82 | % ====================== 实习 ====================== 83 | \section{实习经历} 84 | 85 | \ResumeItem{字节跳动|人工智能实验室} 86 | [\textnormal{大模型算法实习生}] 87 | [2024.06—2024.12] 88 | 89 | \begin{itemize} 90 | \item \textbf{负责部分}: 参与豆包大模型的持续预训练和指令微调过程,负责领域数据构造与模型性能优化,参与 Agent 能力增强项目开发 91 | \item \textbf{实习内容1}: 根据代码生成和数学推理业务场景,挖掘模型在复杂逻辑推理上的能力短板,构造高质量 CoT 数据 5B tokens,进行持续预训练;在 HumanEval、MATH、GSM8K 等 benchmark 的消融实验中,稳定提升模型平均得分 5~8pp 92 | \item \textbf{实习内容2}: 针对模型在多轮对话中存在的指令遵循不足和上下文理解偏差问题,依据真实业务对话流程,收集和构造多轮对话数据集 50 万条,设计多任务学习目标,基于 LLaMA-3-8B 进行 SFT 和 DPO 训练,最终在内部 benchmark 上平均得分继续提升 3pp,用户满意度达到 87\% 93 | \item \textbf{实习内容3}: 分析用户反馈数据,发现模型在工具调用场景下准确率不足(仅 72\%),采用 ReAct 范式构造工具调用训练数据,基于 Qwen-14B 模型,融合 Function Calling 和 ReAct 数据进行混合训练,工具调用准确率提升至 89\%;同时研究 Agent 规划能力改进,基于内部平台实现 Tree-of-Thought 推理框架,最终在复杂任务上成功率进一步提升 12\% 94 | \end{itemize} 95 | 96 | \ResumeItem{腾讯|微信 AI 团队} 97 | [\textnormal{算法工程实习生}] 98 | [2023.06—2023.12] 99 | 100 | \begin{itemize} 101 | \item \textbf{负责部分}: 参与智能客服大模型的训练与部署,负责模型推理性能优化和压缩加速 102 | \item \textbf{实习内容1}: 针对线上推理延迟高(P99 达到 3.2s)的问题,实施 KV Cache 优化、算子融合、批处理策略等多项优化措施,将推理延迟降低至 1.8s,QPS 提升 65\% 103 | \item \textbf{实习内容2}: 研究模型量化技术,实现 INT8 量化和混合精度推理,在保持 98\% 性能的前提下,显存占用降低 55\%,使得单机可部署模型数量提升 2 倍,大幅降低部署成本 104 | \item \textbf{实习内容3}: 基于 vLLM 框架进行二次开发,实现动态批处理和连续批处理功能,优化调度策略;在高并发场景下(1000+ QPS),相比原生实现,吞吐量提升 80\%,P95 延迟降低 40\% 105 | \end{itemize} 106 | 107 | 108 | 109 | % ====================== 项目 ====================== 110 | \section{项目经历} 111 | 112 | \ResumeItem{基于自我纠错机制的智能 RAG 检索系统} 113 | [] 114 | [2024.01—2024.05] 115 | 116 | \begin{itemize} 117 | \item \textbf{项目背景}: 为解决企业内部知识库检索效率低下的问题,设计并实现一套能够自主优化检索策略的 RAG 系统 118 | \item \textbf{核心痛点}: 最初版本的 RAG 系统召回率仅有 65\%,存在关键词匹配不准、语义理解偏差等问题,导致用户查询难以获取准确答案,几乎无法投入实际使用 119 | \item \textbf{技术方案}: 1) 借鉴 ReAct 思想,设计迭代式检索策略——当检索结果置信度低于阈值时,Agent 自动触发反思机制,分析失败原因(如关键词选择不当、查询过于宽泛等),重新生成优化后的查询;2) 实现多策略融合检索,包括向量检索、BM25 关键词检索和混合检索,根据查询类型自适应选择最优策略;3) 引入检索结果重排序模块,基于交叉编码器对召回文档进行精排,提升 Top-K 结果相关性 120 | \item \textbf{实验验证}: 在企业内部知识库和 MS MARCO、Natural Questions 等公开数据集上进行了完整的消融实验,验证了各模块的有效性——迭代式检索使召回率提升 15\%,多策略融合再提升 3\%,重排序模块贡献 2\% 121 | \item \textbf{最终效果}: 系统召回率从初始的 65\% 提升至 85\%,平均检索轮次 1.3 次,用户满意度达到 82\%;项目成果在组内进行分享,获得导师和团队成员的高度认可,相关技术方案已应用于实际生产环境 122 | \end{itemize} 123 | 124 | \ResumeItem{基于分层记忆架构的长程对话 Agent 系统} 125 | [] 126 | [2023.07—2023.12] 127 | 128 | \begin{itemize} 129 | \item \textbf{项目背景}: 现有 Agent 在长对话场景下,由于上下文窗口限制和记忆管理不当,导致信息遗忘严重、检索效率低下,难以维持长期交互 130 | \item \textbf{设计灵感}: 受人类记忆机制启发,人类拥有短期记忆(Working Memory,用于当前任务)和长期记忆(Event Memory,用于历史经验),因此设计了类似的分层记忆架构 131 | \item \textbf{架构设计}: 1) \textbf{工作记忆层}:维护最近 K 轮对话的完整上下文,直接输入 LLM,保证对当前任务的即时响应;2) \textbf{短期记忆层}:对近期(如 1 小时内)的对话进行自动摘要,提取关键信息和决策依据,存储为结构化记忆条目;3) \textbf{长期记忆层}:基于重要性评分(结合对话轮次、用户反馈、任务相关性等因素)和时间衰减机制,筛选重要记忆永久保存,不重要的记忆逐步遗忘 132 | \item \textbf{关键技术}: 1) 实现基于 BM25 + 向量相似度的混合检索机制,快速定位相关历史记忆;2) 设计记忆压缩算法,将冗长对话通过 LLM 进行总结提炼,减少存储开销;3) 引入记忆更新策略,当新信息与旧记忆冲突时,自动触发记忆修正流程 133 | \item \textbf{实验结果}: 在多轮对话任务上,信息有效保留率达到 92\%(对比 Baseline 的 68\%),同时得益于分层架构,记忆检索速度提升 3 倍(从平均 450ms 降至 150ms);在 100 轮以上的超长对话中,任务完成率提升 28\% 134 | \end{itemize} 135 | 136 | 137 | 138 | 139 | 140 | % ====================== 荣誉 ====================== 141 | \section{个人荣誉} 142 | \begin{itemize} 143 | \item NeurIPS 2024 第一作者论文 (CCF-A 类会议),研究方向:大模型知识蒸馏与压缩 144 | \item Kaggle LLM Science Exam 竞赛 金牌 (Top 1\%, 128/2664) 145 | \item 天池 TIANCHI LLM Fine-tuning Challenge 第一名 146 | \item 清华大学 2024 年度学业优秀奖学金 (一等)、优秀研究生 147 | \item 清华大学 2023 年度国家奖学金 148 | \item 第十四届中国大学生程序设计竞赛 (CCPC) 全国银奖 149 | \item 美国大学生数学建模竞赛 (MCM/ICM) Meritorious Winner (一等奖) 150 | \item GitHub 开源项目 "Agent-RL-Framework" 获得 500+ stars 151 | \end{itemize} 152 | 153 | \end{document} 154 | -------------------------------------------------------------------------------- /fontawesome5/make-fontawesome5.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # 3 | # Copyright (c) 2018,2023 Weitian LI 4 | # MIT License 5 | # 6 | 7 | """ 8 | Create Font Awesome v5 mapping for XeLaTeX. 9 | 10 | Credits: 11 | * FontAwesome 12 | https://github.com/FortAwesome/Font-Awesome 13 | * FontAwesome 5.0.0-beta.6 mapping for XeLaTeX 14 | https://gist.github.com/phyllisstein/b790f853dac935060087f78839043b36 15 | * Awesome-CV / fontawesome.sty 16 | https://github.com/posquit0/Awesome-CV/blob/master/fontawesome.sty 17 | * LaTeX - Creating Packages 18 | https://en.wikibooks.org/wiki/LaTeX/Creating_Packages 19 | """ 20 | 21 | import os 22 | import sys 23 | import argparse 24 | import urllib.request 25 | from datetime import datetime 26 | 27 | # Require the 'PyYAML' package (or 'python3-yaml' package on Debian) 28 | import yaml 29 | 30 | FA_URL = "https://github.com/FortAwesome/Font-Awesome" 31 | ICONS_URL = FA_URL + "/raw/5.x/metadata/icons.yml" # NOTE: 'raw' is correct 32 | ALLOWED_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 33 | 34 | # Fonts styles 35 | FONTS = { 36 | "regular": "FontAwesomeRegular", 37 | "solid": "FontAwesomeSolid", 38 | "brands": "FontAwesomeBrands", 39 | } 40 | 41 | # LaTeX style template 42 | STY_TEMPLATE = """%% 43 | %% Font Awesome v5 mapping for XeLaTeX 44 | %% 45 | %% Generated by: %(program)s 46 | %% Date: %(date)s 47 | %% 48 | %% Usage 49 | %% ----- 50 | %% 1. \\usepackage{fontawesome} %% Prefer *Solid* style by default 51 | %% or 52 | %% \\usepackage[regular]{fontawesome} %% Prefer *Regular* style 53 | %% 54 | %% NOTE: 55 | %% The *Solid* style has much more icons than the *Regular* style. 56 | %% If one style doesn't have one icon, it fallbacks to the other style. 57 | %% 58 | %% 2. use an icon, e.g., \\faGitHub 59 | %% 60 | 61 | \\NeedsTeXFormat{LaTeX2e}[1994/06/01] 62 | \\ProvidesPackage{fontawesome5}[%(date)s Font Awesome 5] 63 | 64 | \\DeclareOption{regular}{\\def\\FA@regular{true}} 65 | \\ProcessOptions\\relax 66 | 67 | \\RequirePackage{fontspec} 68 | 69 | %% Declare all variants 70 | %% Solid (default) 71 | \\newfontfamily\\FontAwesomeSolid[ 72 | BoldFont={Font Awesome 5 Free Solid}, 73 | ]{Font Awesome 5 Free Solid} 74 | %% Regular 75 | \\newfontfamily\\FontAwesomeRegular[ 76 | BoldFont={Font Awesome 5 Free}, 77 | ]{Font Awesome 5 Free} 78 | %% Brands 79 | \\newfontfamily\\FontAwesomeBrands[ 80 | BoldFont={Font Awesome 5 Brands}, 81 | ]{Font Awesome 5 Brands} 82 | 83 | %% Generic command displaying an icon by its name 84 | %% \\newcommand*{\\faicon}[1]{{\FA\csname faicon@#1\endcsname}} 85 | 86 | %% Mappings 87 | %(mappings)s 88 | 89 | %% TeX commands 90 | \\ifundef{\\FA@regular}{ 91 | %% [Solid] fallback to Regular style 92 | %(cmds_solid)s 93 | }{ 94 | %% [Regular] fallback to Solid style 95 | %(cmds_regular)s 96 | } 97 | %% [Brands] 98 | %(cmds_brands)s 99 | 100 | \\endinput 101 | %% EOF 102 | """ 103 | 104 | 105 | def get_icons_yml(url=ICONS_URL): 106 | print("Downloading icons.yml from: %s" % url) 107 | resp = urllib.request.urlopen(url) 108 | data = resp.read() 109 | return data.decode("utf-8") 110 | 111 | 112 | def make_cmdname(name): 113 | cmdname = [] 114 | upper = False 115 | for i, c in enumerate(name): 116 | if c == "-": 117 | upper = True 118 | continue 119 | if i == 0: 120 | upper = True 121 | if upper: 122 | cmdname.append(c.upper()) 123 | else: 124 | cmdname.append(c) 125 | upper = False 126 | return "".join(cmdname) 127 | 128 | 129 | def make_map(name, symbol): 130 | """ 131 | Map Font Awesome icon names to unicode symbols 132 | """ 133 | return '\\expandafter\\def\\csname faicon@%(name)s\\endcsname{\\symbol{"%(symbol)s}}' % { 134 | "name": name, 135 | "symbol": symbol.upper(), 136 | } 137 | 138 | 139 | def make_cmd(name, icon, style="solid"): 140 | """ 141 | Create LaTeX command to use Font Awesome icons 142 | """ 143 | cmdname = make_cmdname(name) 144 | if style == "solid": 145 | fallback = "regular" 146 | elif style == "regular": 147 | fallback = "solid" 148 | elif style == "brands": 149 | fallback = None 150 | else: 151 | raise ValueError("Invalid style: %s" % style) 152 | 153 | if style in icon["styles"]: 154 | font = FONTS[style] 155 | elif fallback in icon["styles"]: 156 | font = FONTS[fallback] 157 | else: 158 | return None 159 | 160 | return '\\def\\fa%(cmdname)s{{\\%(font)s\\csname faicon@%(name)s\\endcsname}}' % { 161 | "font": font, 162 | "cmdname": cmdname, 163 | "name": name, 164 | } 165 | 166 | 167 | def main(): 168 | parser = argparse.ArgumentParser( 169 | description="Create Font Awesome v5 mapping for XeLaTeX") 170 | parser.add_argument("-C", "--clobber", action="store_true", 171 | help="overwrite existing output file") 172 | parser.add_argument("-i", "--infile", 173 | help="input icons.yml file of icons information " + 174 | "(default: download from FontAwesome's repo)") 175 | parser.add_argument("-o", "--outfile", default="fontawesome5.sty", 176 | help="output LaTeX style file " + 177 | "(default: fontawesome5.sty)") 178 | args = parser.parse_args() 179 | 180 | if os.path.exists(args.outfile): 181 | if args.clobber: 182 | os.remove(args.outfile) 183 | print("Removed existing file: %s" % args.outfile) 184 | else: 185 | raise OSError("File already exists: %s" % args.outfile) 186 | 187 | if args.infile: 188 | data = open(args.infile).read() 189 | else: 190 | data = get_icons_yml() 191 | 192 | print("Loading icons data ...") 193 | icons = yaml.safe_load(data) 194 | icon_list = sorted(icons.keys()) 195 | print("Number of icons: %d" % len(icon_list)) 196 | 197 | mappings = [make_map(name, icons[name]["unicode"]) 198 | for name in icon_list] 199 | cmds_regular = [make_cmd(name, icons[name], style="regular") 200 | for name in icon_list] 201 | cmds_solid = [make_cmd(name, icons[name], style="solid") 202 | for name in icon_list] 203 | cmds_brands = [make_cmd(name, icons[name], style="brands") 204 | for name in icon_list] 205 | # Exclude None's 206 | cmds_regular = [cmd for cmd in cmds_regular if cmd] 207 | cmds_solid = [cmd for cmd in cmds_solid if cmd] 208 | cmds_brands = [cmd for cmd in cmds_brands if cmd] 209 | 210 | data = { 211 | "program": os.path.basename(sys.argv[0]), 212 | "date": datetime.now().strftime("%Y/%m/%d"), 213 | "mappings": "\n".join(mappings), 214 | "cmds_regular": "\n".join(cmds_regular), 215 | "cmds_solid": "\n".join(cmds_solid), 216 | "cmds_brands": "\n".join(cmds_brands), 217 | } 218 | 219 | open(args.outfile, "w").write(STY_TEMPLATE % data) 220 | print("Mapping writen to file: %s" % args.outfile) 221 | 222 | 223 | if __name__ == "__main__": 224 | main() 225 | -------------------------------------------------------------------------------- /resume-model.tex: -------------------------------------------------------------------------------- 1 | %% 2 | %% Copyright (c) 2018-2020 Weitian LI 3 | %% CC BY 4.0 License 4 | %% 5 | %% Created: 2018-04-11 6 | %% 7 | 8 | % Chinese version 9 | \documentclass[zh]{resume} 10 | 11 | % File information shown at the footer of the last page 12 | \fileinfo{% 13 | \faCopyright{} 2025--2026, 阿东玩AI \hspace{0.5em} 14 | \creativecommons{by}{4.0} \hspace{0.5em} 15 | \githublink{adonogwanai}{LLM-Resume-Template} \hspace{0.5em} 16 | \faEdit{} \today 17 | } 18 | 19 | \name{玩AI}{阿东} 20 | 21 | \keywords{大模型, 算法工程师, 模型压缩, 模型微调, PyTorch, DeepSpeed} 22 | 23 | % \tagline{\texorpdfstring{\icon{\faBinoculars} }{}} 24 | % \tagline{} 25 | 26 | % \photo[ 27 | % shape=, % default is circular 28 | % position=, % default is left 29 | % ]{}{} 30 | % Example: 31 | % \photo[shape=square]{5.5em}{photo} 32 | 33 | \profile{ 34 | \mobile{138-0000-0000} 35 | \email{adong@tsinghua.edu.cn} 36 | \university{清华大学} 37 | \degree{计算机科学与技术 \textbullet 硕士} 38 | \birthday{1998-06} 39 | % Custom information: 40 | % \icontext{}{} 41 | % \iconlink{}{}{} 42 | } 43 | 44 | \begin{document} 45 | \makeheader 46 | 47 | %====================================================================== 48 | % Summary & Objectives 49 | %====================================================================== 50 | \begin{abstract} 51 | 清华大学计算机科学与技术专业硕士在读,预计 2026 年 6 月毕业。主攻大模型方向,在模型压缩与微调方面有深入研究和丰富实践。具备头部科技公司大模型算法实习经验,熟悉 LLaMA 架构、提示工程及性能优化。科研方面,以一作身份在 NeurIPS 发表论文,专注模型压缩与知识蒸馏。技术实践能力强,曾获 Kaggle 大模型微调比赛金牌,熟悉 PyTorch、DeepSpeed 及 Hugging Face Transformers 等开发框架与工具。 52 | \end{abstract} 53 | 54 | %====================================================================== 55 | \sectionTitle{专业技能}{\faWrench} 56 | %====================================================================== 57 | \begin{itemize} 58 | \item 熟悉 Python 及 PyTorch 框架,掌握 Hugging Face Transformers 等大模型开发工具。 59 | \item 深入理解大模型微调技术,如 P-tuning、LoRA 等,并有丰富的提示工程实践经验。 60 | \item 熟悉 LLaMA 等主流模型架构,以及 RLHF、DPO 等偏好对齐方法。 61 | \item 掌握基于知识蒸馏的模型压缩方法,对大模型轻量化有深入研究。 62 | \item 熟悉 DeepSpeed 等分布式训练框架,具备大模型训练与部署性能优化能力。 63 | \item 了解 RAG、Agent 等 LLM 应用技术,对多模态大模型有研究与实践经验。 64 | \end{itemize} 65 | 66 | %====================================================================== 67 | \sectionTitle{教育背景}{\faGraduationCap} 68 | %====================================================================== 69 | \begin{educations} 70 | \education% 71 | {2023.09}% 72 | [2026.06 (预计)]% 73 | {清华大学}% 74 | {计算机学院}% 75 | {计算机科学与技术}% 76 | {硕士 \quad 专业排名前 5\%} 77 | \separator{0.5ex} 78 | \education% 79 | {2019.09}% 80 | [2023.06]% 81 | {清华大学}% 82 | {计算机系}% 83 | {计算机科学与技术}% 84 | {学士} 85 | \end{educations} 86 | 87 | %====================================================================== 88 | \sectionTitle{科研经历}{\faAtom} 89 | %====================================================================== 90 | \begin{itemize} 91 | \item \textbf{基于强化学习的自主决策 Agent 系统研究} \hfill 20XX.X --- 至今 92 | \begin{itemize} 93 | \item \textbf{问题背景}: 现有 LLM-based Agent 在复杂任务中存在决策路径冗余、缺乏长期规划能力等问题, 在多步骤任务中难以做出最优决策序列 94 | \item \textbf{研究内容}: 1) 提出基于 PPO 的 Agent 决策优化框架, 将 LLM 作为策略网络, 通过任务完成度、步骤效率等构建奖励函数, 实现端到端强化学习训练; 在 ALFWorld、WebShop 等 Benchmark 上验证, 对比 ReAct、Reflexion 等基线方法, 任务成功率提升 XX\%~XX\%, 平均决策步数减少 XX\% 95 | \item 2) 设计分层强化学习架构, 将复杂任务分解为高层规划和低层执行两个层次; 通过 Hindsight Experience Replay (HER) 提升样本利用效率, 在稀疏奖励环境下收敛速度提升 XX\% 96 | \item 3) 引入 Monte Carlo Tree Search (MCTS) 与 RL 结合的混合决策机制, 在决策前进行多步模拟, 优化探索-利用平衡; 在长序列任务中, 相比纯 RL 方法, 样本效率提升 XX\%, 最终性能提升 XX\% 97 | \item \textbf{相关成果}: 第一作者论文已投稿 NeurIPS/ICML 20XX, 目前处于 Under Review 状态; 开源代码在 GitHub 获得 XXX+ stars 98 | \end{itemize} 99 | 100 | \item \textbf{大模型知识蒸馏与模型压缩技术研究} \hfill 20XX.X --- 20XX.X 101 | \begin{itemize} 102 | \item \textbf{问题背景}: 大规模语言模型部署成本高昂, 在边缘设备和实时应用场景下难以满足推理延迟要求 103 | \item \textbf{研究内容}: 1) 提出基于层级知识蒸馏的模型压缩方法, 同时对齐 Teacher 和 Student 模型的注意力分布、隐层特征和输出概率分布, 在保持 XX\% 性能的前提下, 将 LLaMA-13B 压缩至 XB 参数量; 2) 结合结构化剪枝和低秩分解技术, 设计自适应剪枝策略, 在 MMLU、GSM8K 等 Benchmark 上, 相比标准蒸馏方法, 平均性能提升 X.X\% 104 | \item \textbf{相关成果}: 第一作者论文发表于 NeurIPS/ICML/ICLR 20XX (CCF-A), 论文被引用 XX 次 105 | \end{itemize} 106 | \end{itemize} 107 | 108 | %====================================================================== 109 | \sectionTitle{实习经历}{\faBriefcase} 110 | %====================================================================== 111 | \begin{experiences} 112 | \experience% 113 | [20XX.X]% 114 | {20XX.X}% 115 | {字节跳动/腾讯/阿里巴巴 \quad AI Lab \quad 大模型算法实习生}% 116 | [\begin{itemize} 117 | \item \textbf{负责部分}: 参与 XXXX 大模型训练过程, 负责 XXXX 数据构造与模型微调, 负责 XXXX 模块开发与性能优化 118 | \item \textbf{实习内容1}: 根据 XXXX 业务场景(如代码生成/数学推理/对话等), 挖掘模型能力短板, 构造高质量训练数据 XX B tokens, 进行持续预训练/SFT训练, 在 HumanEval/MATH/MMLU 等 benchmark 消融实验中, 稳定提升平均得分 X~Xpp 119 | \item \textbf{实习内容2}: 针对模型在 XXXX 场景存在的 XX 问题(如指令遵循/多轮对话/工具调用等), 依据业务流程, 收集和构造 XXXX 数据集, 设计 XXXX 训练策略(如多任务学习/DPO/RLHF等), 基于 LLaMA/Qwen 等模型进行训练, 最终在内部 benchmark 上平均得分继续提升 Xpp, XXXX 指标达到 XX\% 120 | \item \textbf{实习内容3}: 负责模型推理性能优化, 发现 XXXX 问题(如延迟高/显存占用大等), 采用 XXXX 优化方法(如KV Cache优化/量化/算子融合等), 基于 vLLM/TensorRT 等框架, 进行推理加速优化, 推理延迟降低 XX\%, QPS提升 XX\%, 同时研究模型压缩方法, 最终在保持性能前提下显存占用降低 XX\% 121 | \end{itemize}] 122 | \end{experiences} 123 | 124 | %====================================================================== 125 | \sectionTitle{项目经历}{\faCode} 126 | %====================================================================== 127 | \begin{itemize} 128 | \item \textbf{基于自我纠错机制的智能 RAG 检索系统} \hfill 20XX.X --- 20XX.X 129 | \begin{itemize} 130 | \item \textbf{项目背景}: 为解决 XXXX 知识库检索效率低下问题, 设计并实现能够自主优化检索策略的 RAG 系统 131 | \item \textbf{核心痛点}: 最初版本召回率仅 XX\%, 存在 XXXX 问题(如关键词匹配不准/语义理解偏差等) 132 | \item \textbf{技术方案}: 1) 借鉴 ReAct 思想, 设计迭代式检索策略——当检索结果置信度低时, Agent 自动触发反思机制, 分析失败原因并重新生成优化查询; 2) 实现多策略融合检索(向量检索/BM25/混合检索), 根据查询类型自适应选择最优策略; 3) 引入重排序模块, 基于交叉编码器对召回文档进行精排 133 | \item \textbf{实验验证}: 在 XXXX 数据集上进行完整消融实验, 迭代式检索使召回率提升 XX\%, 多策略融合再提升 XX\% 134 | \item \textbf{最终效果}: 召回率从 XX\% 提升至 XX\%, 平均检索轮次 X.X 次, 用户满意度达到 XX\%, 相关技术方案已应用于实际生产环境 135 | \item \textbf{技术栈}: Python, LangChain, FAISS, Sentence-Transformers, BGE-reranker 136 | \end{itemize} 137 | 138 | \item \textbf{基于分层记忆架构的长程对话 Agent 系统} \hfill 20XX.X --- 20XX.X 139 | \begin{itemize} 140 | \item \textbf{项目背景}: 现有 Agent 在长对话场景下, 因上下文窗口限制和记忆管理不当, 导致信息遗忘严重、检索效率低下 141 | \item \textbf{设计灵感}: 受人类记忆机制启发(工作记忆 + 长期记忆), 设计类似的分层记忆架构 142 | \item \textbf{架构设计}: 1) \textbf{工作记忆层}: 维护最近 K 轮对话完整上下文; 2) \textbf{短期记忆层}: 对近期对话自动摘要, 提取关键信息; 3) \textbf{长期记忆层}: 基于重要性评分和时间衰减机制, 筛选重要记忆永久保存 143 | \item \textbf{关键技术}: 1) 实现 BM25 + 向量相似度混合检索; 2) 设计记忆压缩算法; 3) 引入记忆更新策略, 自动处理信息冲突 144 | \item \textbf{实验结果}: 信息有效保留率达到 XX\%, 记忆检索速度提升 X 倍, 在 XXX 轮以上超长对话中任务完成率提升 XX\% 145 | \item \textbf{应用场景}: 已集成到个人助理型 Agent, 可处理日程管理/待办事项跟踪/知识问答等长期交互任务 146 | \item \textbf{技术栈}: Python, LangChain, ChromaDB, Redis, GPT-4 147 | \end{itemize} 148 | \end{itemize} 149 | 150 | %====================================================================== 151 | \sectionTitle{个人荣誉}{\faTrophy} 152 | %====================================================================== 153 | \begin{itemize} 154 | \item NeurIPS/ICML/ICLR 20XX 第一作者论文 (CCF-A 类会议), 研究方向: XXXX 155 | \item Kaggle XXXX Competition 金牌/银牌 (Top X\%, XX/XXXX) 156 | \item 天池/DataFountain XXXX Challenge 第一名/Top X 157 | \item 清华大学/北京大学 20XX 年度学业优秀奖学金(一等)、优秀研究生 158 | \item 20XX 年度国家奖学金 159 | \item 中国大学生程序设计竞赛 (CCPC) / ACM-ICPC 全国金奖/银奖/铜奖 160 | \item 美国大学生数学建模竞赛 (MCM/ICM) Outstanding/Meritorious Winner 161 | \item GitHub 开源项目 "XXXX" 获得 XXX+ stars 162 | \end{itemize} 163 | 164 | \end{document} 165 | -------------------------------------------------------------------------------- /resume-zh.tex: -------------------------------------------------------------------------------- 1 | %% 2 | %% Copyright (c) 2018-2020 Weitian LI 3 | %% CC BY 4.0 License 4 | %% 5 | %% Created: 2018-04-11 6 | %% 7 | 8 | % Chinese version 9 | \documentclass[zh]{resume} 10 | 11 | % File information shown at the footer of the last page 12 | \fileinfo{% 13 | \faCopyright{} 2025--2026, adonogwanai \hspace{0.5em} 14 | \creativecommons{by}{4.0} \hspace{0.5em} 15 | \githublink{adonogwanai}{LLM-Resume-Template} \hspace{0.5em} 16 | \faEdit{} \today 17 | } 18 | 19 | \name{玩AI}{阿东} 20 | 21 | \keywords{大模型, 算法工程师, 模型压缩, 模型微调, PyTorch, DeepSpeed} 22 | 23 | % \tagline{\texorpdfstring{\icon{\faBinoculars} }{}} 24 | % \tagline{} 25 | 26 | % \photo[ 27 | % shape=, % default is circular 28 | % position=, % default is left 29 | % ]{}{} 30 | % Example: 31 | % \photo[shape=square]{5.5em}{photo} 32 | 33 | \profile{ 34 | \mobile{1XX-XXXX-XXXX} 35 | \email{adong@tsinghua.edu.cn} % Changed to a sample email 36 | \university{清华大学} 37 | \degree{计算机科学与技术 \textbullet 硕士} 38 | \birthday{20XX-XX} 39 | % Custom information: 40 | % \icontext{}{} 41 | % \iconlink{}{}{} 42 | } 43 | 44 | \begin{document} 45 | \makeheader 46 | 47 | %====================================================================== 48 | % Summary & Objectives 49 | %====================================================================== 50 | \begin{abstract} 51 | 清华大学计算机科学与技术专业硕士在读,预计 2026 年 6 月毕业。主攻大模型方向,在模型压缩与微调方面有深入研究和丰富实践。具备头部科技公司大模型算法实习经验,熟悉 LLaMA 架构、提示工程及性能优化。科研方面,以一作身份在 NeurIPS 发表论文,专注模型压缩与知识蒸馏。技术实践能力强,曾获 Kaggle 大模型微调比赛金牌,熟悉 PyTorch、DeepSpeed 及 Hugging Face Transformers 等开发框架与工具。 52 | \end{abstract} 53 | 54 | %====================================================================== 55 | \sectionTitle{专业技能}{\faWrench} 56 | %====================================================================== 57 | \begin{itemize} 58 | \item 熟悉 Python 及 PyTorch 框架,掌握 Hugging Face Transformers 等大模型开发工具。 59 | \item 深入理解大模型微调技术,如 P-tuning、LoRA 等,并有丰富的提示工程实践经验。 60 | \item 熟悉 LLaMA 等主流模型架构,以及 RLHF、DPO 等偏好对齐方法。 61 | \item 掌握基于知识蒸馏的模型压缩方法,对大模型轻量化有深入研究。 62 | \item 熟悉 DeepSpeed 等分布式训练框架,具备大模型训练与部署性能优化能力。 63 | \item 了解 RAG、Agent 等 LLM 应用技术,对多模态大模型有研究与实践经验。 64 | \end{itemize} 65 | 66 | %====================================================================== 67 | \sectionTitle{教育背景}{\faGraduationCap} 68 | %====================================================================== 69 | \begin{itemize} 70 | \item \textbf{清华大学} \quad 计算机学院 \quad 计算机科学与技术 \quad 硕士 \hfill 2023.09 -- 2026.06 (预计) 71 | \begin{itemize} 72 | \item 专业排名前 5\% 73 | \end{itemize} 74 | \item \textbf{清华大学} \quad 计算机系 \quad 计算机科学与技术 \quad 学士 \hfill 2019.09 -- 2023.06 75 | \end{itemize} 76 | 77 | %====================================================================== 78 | \sectionTitle{科研经历}{\faAtom} 79 | %====================================================================== 80 | \begin{itemize} 81 | \item \textbf{基于强化学习的自主决策 Agent 系统研究} \hfill 2024.03 --- 至今 82 | \begin{itemize} 83 | \item \textbf{问题背景}: 现有 LLM-based Agent 在复杂任务中存在决策路径冗余、缺乏长期规划能力等问题,难以在多步骤任务中做出最优决策序列 84 | \item \textbf{研究内容}: 1) 提出基于 PPO 的 Agent 决策优化框架,将 LLM 作为策略网络,通过任务完成度、步骤效率等构建奖励函数,实现端到端的强化学习训练;在 ALFWorld、WebShop 等多个 Benchmark 上验证,对比 ReAct、Reflexion 等基线方法,任务成功率提升 12\%~18\%,平均决策步数减少 25\% 85 | \item 2) 设计分层强化学习架构,将复杂任务分解为高层规划和低层执行两个层次,高层 Agent 负责子目标分解,低层 Agent 负责具体动作执行;通过 Hindsight Experience Replay (HER) 提升样本利用效率,在稀疏奖励环境下收敛速度提升 40\% 86 | \item 3) 引入 Monte Carlo Tree Search (MCTS) 与 RL 结合的混合决策机制,在决策前进行多步模拟,优化探索-利用平衡;在长序列任务中,相比纯 RL 方法,样本效率提升 35\%,最终性能提升 8\% 87 | \item \textbf{相关成果}: 第一作者论文已投稿 NeurIPS 2026,目前处于 Under Review 状态;开源代码在 GitHub 获得 500+ stars 88 | \end{itemize} 89 | 90 | \item \textbf{大模型知识蒸馏与模型压缩技术研究} \hfill 2023.09 --- 2024.02 91 | \begin{itemize} 92 | \item \textbf{问题背景}: 大规模语言模型部署成本高昂,在边缘设备和实时应用场景下难以满足推理延迟要求 93 | \item \textbf{研究内容}: 1) 提出基于层级知识蒸馏的模型压缩方法,同时对齐 Teacher 和 Student 模型的注意力分布、隐层特征和输出概率分布,在保持 95\% 性能的前提下,将 LLaMA-13B 压缩至 3B 参数量;2) 结合结构化剪枝和低秩分解技术,设计自适应剪枝策略,在 MMLU、GSM8K 等 Benchmark 上,相比标准蒸馏方法,平均性能提升 4.2\% 94 | \item \textbf{相关成果}: 第一作者论文发表于 NeurIPS 2024 (CCF-A),论文被引用 15 次 95 | \end{itemize} 96 | \end{itemize} 97 | 98 | %====================================================================== 99 | \sectionTitle{实习经历}{\faBriefcase} 100 | %====================================================================== 101 | \begin{itemize} 102 | \item \textbf{字节跳动 \quad 人工智能实验室 \quad 大模型算法实习生} \hfill 2024.06 -- 2024.12 103 | \begin{itemize} 104 | \item \textbf{负责部分}: 参与豆包大模型的持续预训练和指令微调过程,负责领域数据构造与模型性能优化,参与 Agent 能力增强项目开发 105 | \item \textbf{实习内容1}: 根据代码生成和数学推理业务场景,挖掘模型在复杂逻辑推理上的能力短板,构造高质量 CoT 数据 5B tokens,进行持续预训练;在 HumanEval、MATH、GSM8K 等 benchmark 的消融实验中,稳定提升模型平均得分 5~8pp 106 | \item \textbf{实习内容2}: 针对模型在多轮对话中存在的指令遵循不足和上下文理解偏差问题,依据真实业务对话流程,收集和构造多轮对话数据集 50 万条,设计多任务学习目标,基于 LLaMA-3-8B 进行 SFT 和 DPO 训练,最终在内部 benchmark 上平均得分继续提升 3pp,用户满意度达到 87\% 107 | \item \textbf{实习内容3}: 分析用户反馈数据,发现模型在工具调用场景下准确率不足(仅 72\%),采用 ReAct 范式构造工具调用训练数据,基于 Qwen-14B 模型,融合 Function Calling 和 ReAct 数据进行混合训练,工具调用准确率提升至 89\%;同时研究 Agent 规划能力改进,基于内部平台实现 Tree-of-Thought 推理框架,最终在复杂任务上成功率进一步提升 12\% 108 | \end{itemize} 109 | 110 | \item \textbf{腾讯 \quad 微信 AI 团队 \quad 算法工程实习生} \hfill 2023.06 -- 2023.12 111 | \begin{itemize} 112 | \item \textbf{负责部分}: 参与智能客服大模型的训练与部署,负责模型推理性能优化和压缩加速 113 | \item \textbf{实习内容1}: 针对线上推理延迟高(P99 达到 3.2s)的问题,实施 KV Cache 优化、算子融合、批处理策略等多项优化措施,将推理延迟降低至 1.8s,QPS 提升 65\% 114 | \item \textbf{实习内容2}: 研究模型量化技术,实现 INT8 量化和混合精度推理,在保持 98\% 性能的前提下,显存占用降低 55\%,使得单机可部署模型数量提升 2 倍,大幅降低部署成本 115 | \item \textbf{实习内容3}: 基于 vLLM 框架进行二次开发,实现动态批处理和连续批处理功能,优化调度策略;在高并发场景下(1000+ QPS),相比原生实现,吞吐量提升 80\%,P95 延迟降低 40\% 116 | \end{itemize} 117 | \end{itemize} 118 | 119 | %====================================================================== 120 | \sectionTitle{项目经历}{\faCode} 121 | %====================================================================== 122 | \begin{itemize} 123 | \item \textbf{基于自我纠错机制的智能 RAG 检索系统} \hfill 2024.01 --- 2024.05 124 | \begin{itemize} 125 | \item \textbf{项目背景}: 为解决企业内部知识库检索效率低下的问题,设计并实现一套能够自主优化检索策略的 RAG 系统 126 | \item \textbf{核心痛点}: 最初版本的 RAG 系统召回率仅有 65\%,存在关键词匹配不准、语义理解偏差等问题,导致用户查询难以获取准确答案,几乎无法投入实际使用 127 | \item \textbf{技术方案}: 1) 借鉴 ReAct 思想,设计迭代式检索策略——当检索结果置信度低于阈值时,Agent 自动触发反思机制,分析失败原因(如关键词选择不当、查询过于宽泛等),重新生成优化后的查询;2) 实现多策略融合检索,包括向量检索、BM25 关键词检索和混合检索,根据查询类型自适应选择最优策略;3) 引入检索结果重排序模块,基于交叉编码器对召回文档进行精排,提升 Top-K 结果相关性 128 | \item \textbf{实验验证}: 在企业内部知识库和 MS MARCO、Natural Questions 等公开数据集上进行了完整的消融实验,验证了各模块的有效性——迭代式检索使召回率提升 15\%,多策略融合再提升 3\%,重排序模块贡献 2\% 129 | \item \textbf{最终效果}: 系统召回率从初始的 65\% 提升至 85\%,平均检索轮次 1.3 次,用户满意度达到 82\%;项目成果在组内进行分享,获得导师和团队成员的高度认可,相关技术方案已应用于实际生产环境 130 | \end{itemize} 131 | 132 | \item \textbf{基于分层记忆架构的长程对话 Agent 系统} \hfill 2023.07 --- 2023.12 133 | \begin{itemize} 134 | \item \textbf{项目背景}: 现有 Agent 在长对话场景下,由于上下文窗口限制和记忆管理不当,导致信息遗忘严重、检索效率低下,难以维持长期交互 135 | \item \textbf{设计灵感}: 受人类记忆机制启发,人类拥有短期记忆(Working Memory,用于当前任务)和长期记忆(Event Memory,用于历史经验),因此设计了类似的分层记忆架构 136 | \item \textbf{架构设计}: 1) \textbf{工作记忆层}:维护最近 K 轮对话的完整上下文,直接输入 LLM,保证对当前任务的即时响应;2) \textbf{短期记忆层}:对近期(如 1 小时内)的对话进行自动摘要,提取关键信息和决策依据,存储为结构化记忆条目;3) \textbf{长期记忆层}:基于重要性评分(结合对话轮次、用户反馈、任务相关性等因素)和时间衰减机制,筛选重要记忆永久保存,不重要的记忆逐步遗忘 137 | \item \textbf{关键技术}: 1) 实现基于 BM25 + 向量相似度的混合检索机制,快速定位相关历史记忆;2) 设计记忆压缩算法,将冗长对话通过 LLM 进行总结提炼,减少存储开销;3) 引入记忆更新策略,当新信息与旧记忆冲突时,自动触发记忆修正流程 138 | \item \textbf{实验结果}: 在多轮对话任务上,信息有效保留率达到 92\%(对比 Baseline 的 68\%),同时得益于分层架构,记忆检索速度提升 3 倍(从平均 450ms 降至 150ms);在 100 轮以上的超长对话中,任务完成率提升 28\% 139 | 140 | \end{itemize} 141 | \end{itemize} 142 | 143 | %====================================================================== 144 | \sectionTitle{个人荣誉}{\faTrophy} 145 | %====================================================================== 146 | \begin{itemize} 147 | \item NeurIPS 2024 第一作者论文 (CCF-A 类会议),研究方向:大模型知识蒸馏与压缩 148 | \item Kaggle LLM Science Exam 竞赛 金牌 (Top 1\%, 128/2664) 149 | \item 天池 TIANCHI LLM Fine-tuning Challenge 第一名 150 | \item 清华大学 2024 年度学业优秀奖学金 (一等)、优秀研究生 151 | \item 清华大学 2023 年度国家奖学金 152 | \item 第十四届中国大学生程序设计竞赛 (CCPC) 全国银奖 153 | \item 美国大学生数学建模竞赛 (MCM/ICM) Meritorious Winner (一等奖) 154 | \item GitHub 开源项目 "Agent-RL-Framework" 获得 500+ stars 155 | \end{itemize} 156 | 157 | \end{document} 158 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LLM-Resume-Template 2 | 3 | # 大模型算法工程师简历模板 | LLM Algorithm Engineer Resume Template 4 | 5 | [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) 6 | [![LaTeX](https://img.shields.io/badge/LaTeX-Template-green.svg)](https://www.latex-project.org/) 7 | [![GitHub stars](https://img.shields.io/github/stars/adongwanai/LLM-Resume-Template?style=social)](https://github.com/adongwanai/LLM-Resume-Template) 8 | 9 | 一个专为**大模型算法工程师**打造的 LaTeX 简历模板,适合求职大模型、Agent、RAG、NLP 等 AI 相关岗位。 10 | 11 | 12 | > **💡 如果这个模板对你有帮助,请先点击右上角的 ⭐️ Star 支持一下!你的 Star 是对我们最大的鼓励!** 13 | > **🔥 推荐 Fork 本项目后进行修改,这样你可以保留自己的版本,也方便后续更新!** 14 | 15 | ## 📸 效果预览 16 | 17 |
18 | 无头像简历效果展示 19 |

简历模板效果展示

20 |
21 | 22 |
23 | 头像简历效果展示 24 |

简历模板有头像效果展示

25 |
26 | 27 | 28 | ## ✨ 特性 29 | 30 | - 📸 **支持头像**:提供带头像版本,让简历更加个性化和专业(可选) 31 | - 📝 **专业内容结构**:涵盖科研经历、实习经历、项目经历等完整板块 32 | - 🎯 **大模型方向优化**:针对 LLM、Agent、RAG、模型压缩等热门方向设计 33 | - 🔧 **易于修改**:提供完整的占位符模板,方便快速替换个人信息 34 | - 🎨 **排版精美**:基于优秀的 LaTeX 简历模板,支持中英文 35 | - 🚀 **一键编译**:支持 Overleaf 在线编辑,无需本地配置环境 36 | 37 | ## 📁 文件说明 38 | 39 | ``` 40 | LLM-Resume-Template/ 41 | ├── resume-zh.tex # 中文简历(完整示例,无头像) 42 | ├── resume-photo.tex # 带头像简历(推荐使用)⭐️ 43 | ├── resume-model.tex # 简历模板(含占位符) 44 | ├── resume-en.tex # 英文简历模板 45 | ├── resume.cls # 标准简历样式文件 46 | ├── resume-photo.cls # 带头像支持的样式文件 ⭐️ 47 | ├── adongwanai.jpg # 示例头像图片 48 | ├── Makefile # 编译脚本 49 | ├── fontawesome5/ # 图标字体文件 50 | └── README.md # 本文件 51 | ``` 52 | 53 | **推荐使用 `resume-photo.tex`**:这是带头像版本的简历模板,更加现代美观,适合需要展示个人形象的场合。 54 | 55 | **可选使用 `resume-zh.tex` 或 `resume-model.tex`**:标准版简历(无头像),适合更正式的学术或企业场合。 56 | 57 | ## 🚀 快速开始 58 | 59 | ### 方法一:使用 Overleaf(推荐,无需配置环境) 60 | 61 | #### 步骤 0: Star 和 Fork 项目(重要!) 62 | 63 | 1. 点击页面右上角的 ⭐️ **Star** 按钮,支持一下项目! 64 | 2. 点击右上角的 **Fork** 按钮,将项目 fork 到你的账号下 65 | 3. 在你 fork 的仓库页面,点击 **Code** → **Download ZIP** 下载项目 66 | 67 | > 💡 **为什么推荐 Fork?** 68 | > - 你可以在自己的仓库中自由修改,不会影响原项目 69 | > - 方便追踪你的修改历史 70 | > - 当原项目更新时,你可以轻松同步最新内容 71 | > - Fork 和 Star 能让更多人发现这个项目! 72 | 73 | #### 步骤 1: 导入 Overleaf 74 | 75 | 1. 访问 [Overleaf](https://www.overleaf.com/) 并登录/注册 76 | 2. 点击左上角 **New Project** → **Upload Project** 77 | 3. 上传刚才下载的 ZIP 文件 78 | 4. 等待项目导入完成 79 | 80 | #### 步骤 3: 设置主文件 81 | 82 | 1. 在 Overleaf 项目中,点击左上角的 **Menu** 按钮 83 | 2. 在 **Main document** 下拉菜单中选择: 84 | - **带头像版**:选择 `resume-photo.tex`(推荐) 85 | - **无头像版**:选择 `resume-zh.tex` 或 `resume-model.tex` 86 | 3. 确保编译器设置为 **XeLaTeX** 87 | 4. 点击 **Recompile** 即可预览 PDF 88 | 89 | #### 步骤 4: 替换头像(如使用带头像版) 90 | 91 | 1. 准备一张正方形或圆形的照片(推荐尺寸 500×500 像素以上) 92 | 2. 在 Overleaf 左侧文件列表中,点击上传图标上传你的照片 93 | 3. 打开 `resume-photo.tex`,修改第 17 行: 94 | ```latex 95 | \ResumePhoto{你的照片文件名.jpg} 96 | ``` 97 | 4. 如果不想使用头像,直接删除或注释掉这一行即可 98 | 99 | #### 步骤 5: 开始编辑 100 | 101 | 直接在 Overleaf 编辑器中修改对应的 `.tex` 文件,保存后会自动重新编译并更新 PDF 预览。 102 | 103 | --- 104 | 105 | ### 方法二:使用 Cursor/VSCode + AI 辅助修改(效率更高) 106 | 107 | 如果你想用 AI 快速批量修改简历内容,推荐使用 Cursor 编辑器。 108 | 109 | #### 步骤 1: Fork 并克隆项目(推荐) 110 | 111 | **强烈推荐先 Fork 项目!** 112 | 113 | 1. 在 GitHub 上点击 **Star** ⭐️ 和 **Fork** 按钮 114 | 2. 克隆你 fork 的仓库: 115 | 116 | ```bash 117 | # 替换 YOUR_USERNAME 为你的 GitHub 用户名 118 | git clone https://github.com/YOUR_USERNAME/LLM-Resume-Template.git 119 | cd LLM-Resume-Template 120 | ``` 121 | 122 | > 💡 **为什么要 Fork?** Fork 后可以自由提交你的修改,保留个人版本,同时不影响原项目。 123 | 124 | #### 步骤 2: 用 Cursor 打开项目 125 | 126 | 1. 下载并安装 [Cursor](https://cursor.sh/) 127 | 2. 用 Cursor 打开项目文件夹 128 | 3. 打开 `resume-photo.tex`(带头像版)或 `resume-model.tex`(无头像版)文件 129 | 130 | #### 步骤 3: 使用 AI 提示词快速修改 131 | 132 | 选中需要修改的部分,按 `Cmd+K`(Mac)或 `Ctrl+K`(Windows)唤起 Cursor AI,输入提示词进行修改。 133 | 134 | **提示词示例见下方 [AI 提示词参考](#-ai-提示词参考) 部分。** 135 | 136 | #### 步骤 4: 同步到 Overleaf 137 | 138 | 修改完成后,将项目文件夹打包成 ZIP,重新上传到 Overleaf 进行编译和预览。 139 | 140 | --- 141 | 142 | ### 方法三:本地编译(需要 LaTeX 环境) 143 | 144 | 如果你已安装 TeX Live 或 MacTeX,可以在本地编译: 145 | 146 | ```bash 147 | # 编译带头像版简历(推荐) 148 | xelatex resume-photo.tex 149 | xelatex resume-photo.tex # 编译两次以生成正确的目录和引用 150 | 151 | # 编译无头像版简历 152 | make zh 153 | # 或 154 | xelatex resume-zh.tex 155 | xelatex resume-zh.tex 156 | ``` 157 | 158 | ## 📝 使用指南 159 | 160 | ### 1. 修改个人信息 161 | 162 | #### 带头像版(`resume-photo.tex`) 163 | 164 | ```latex 165 | \ResumeName{阿东玩AI} % 修改为你的姓名 166 | \ResumePhoto{adongwanai.jpg} % 修改为你的头像文件名,或删除这行不使用头像 167 | 168 | \begin{document} 169 | 170 | \ResumeContacts{ 171 | 1XX-XXXX-XXXX,% 172 | \ResumeUrl{mailto:adong@tsinghua.edu.cn}{adong@tsinghua.edu.cn},% 173 | \textnormal{清华大学 | 计算机科学与技术 · 硕士 | 20XX-XX}% 174 | } 175 | ``` 176 | 177 | #### 无头像版(`resume-zh.tex` 或 `resume-model.tex`) 178 | 179 | ```latex 180 | \name{玩AI}{阿东} % 修改为你的姓名(姓 名) 181 | 182 | \keywords{大模型, 算法工程师, 模型压缩, 模型微调, PyTorch, DeepSpeed} 183 | 184 | \profile{ 185 | \mobile{138-0000-0000} % 手机号 186 | \email{adong@tsinghua.edu.cn} % 邮箱 187 | \university{清华大学} % 学校 188 | \degree{计算机科学与技术 \textbullet 硕士} % 专业和学位 189 | \birthday{1998-06} % 生日 190 | } 191 | ``` 192 | 193 | ### 2. 替换经历内容 194 | 195 | 模板中使用 `XXXX` 和 `XX` 作为占位符,你可以: 196 | 197 | - **手动替换**:直接搜索 `XXXX` 并替换为你的实际内容 198 | - **使用 AI 辅助**:参考下方的提示词示例,让 AI 帮你快速填充 199 | 200 | ### 3. 调整板块顺序 201 | 202 | 根据你的求职重点,可以调整各个板块的顺序。例如,如果你的项目经历更出色,可以把项目经历放在实习经历之前。 203 | 204 | ### 4. 添加/删除板块 205 | 206 | 如果某个板块不需要,直接删除对应的 `\sectionTitle` 和 `\begin{...} \end{...}` 部分即可。 207 | 208 | ## 🤖 AI 提示词参考 209 | 210 | 使用 Cursor、ChatGPT 或 Claude 时,可以参考以下提示词快速修改简历: 211 | 212 | ### 提示词 1: 修改个人基本信息 213 | 214 | ``` 215 | 请帮我修改简历的个人信息部分: 216 | - 姓名:张三 217 | - 手机:138-1234-5678 218 | - 邮箱:zhangsan@pku.edu.cn 219 | - 学校:北京大学 220 | - 专业:计算机科学与技术 221 | - 学位:硕士 222 | - 生日:1999-03 223 | ``` 224 | 225 | ### 提示词 2: 填充科研经历 226 | 227 | ``` 228 | 请帮我填充科研经历部分,我的研究方向是: 229 | - 方向:多模态大模型的指令微调 230 | - 时间:2024.03 - 至今 231 | - 问题:现有多模态模型在细粒度视觉理解任务上表现不佳 232 | - 方法:设计了区域级别的对齐策略,在 RefCOCO 数据集上训练 233 | - 效果:相比 LLaVA baseline,准确率提升了 8.5% 234 | - 成果:论文已投稿 CVPR 2025 235 | 236 | 请保持专业的学术写作风格,突出技术细节和量化指标。 237 | ``` 238 | 239 | ### 提示词 3: 填充实习经历 240 | 241 | ``` 242 | 请帮我填充实习经历,信息如下: 243 | - 公司:字节跳动 244 | - 部门:AI Lab - 大模型团队 245 | - 时间:2024.06 - 2024.12 246 | - 工作内容: 247 | 1. 参与豆包大模型的数据构造,构造了 3B tokens 的代码数据,HumanEval 得分提升 6pp 248 | 2. 负责模型的 SFT 训练,使用 LoRA 微调,训练了 5 个版本 249 | 3. 优化推理性能,使用 vLLM,推理速度提升 50% 250 | 251 | 请用专业的方式描述,突出数据规模、技术方案和量化效果。 252 | ``` 253 | 254 | ### 提示词 4: 填充项目经历 255 | 256 | ``` 257 | 请帮我填充项目经历,我做了一个 RAG 项目: 258 | - 项目名称:企业知识库智能问答系统 259 | - 时间:2023.09 - 2024.01 260 | - 背景:公司内部文档分散,员工查找信息效率低 261 | - 方案:搭建了基于 RAG 的问答系统,使用 BGE-large 做向量化,FAISS 做检索,GPT-4 做生成 262 | - 优化:加入了 HyDE 和重排序,召回率从 72% 提升到 88% 263 | - 效果:系统上线后,员工查询效率提升 60%,好评率 91% 264 | 265 | 请用项目报告的风格描述,突出问题、方案、优化和效果。 266 | ``` 267 | 268 | ### 提示词 5: 批量替换占位符 269 | 270 | ``` 271 | 请帮我把简历中的所有占位符 XXXX 和 XX 替换为合理的示例内容,要求: 272 | 1. 内容贴合大模型算法工程师的工作场景 273 | 2. 使用真实存在的模型名称(如 LLaMA、Qwen、GPT-4) 274 | 3. 使用真实的 benchmark(如 MMLU、HumanEval、GSM8K) 275 | 4. 数字要合理(如提升幅度通常在 5%-20% 之间) 276 | 5. 保持专业性和可信度 277 | ``` 278 | 279 | ### 提示词 6: 优化语言表达 280 | 281 | ``` 282 | 请帮我优化简历中的"实习经历"部分,要求: 283 | 1. 使用更专业的技术术语 284 | 2. 突出量化指标和业务影响 285 | 3. 使用动词开头,增强行动力 286 | 4. 控制每条不超过 2 行 287 | 5. 遵循 STAR 法则(情境-任务-行动-结果) 288 | ``` 289 | 290 | ## 📄 模板预览 291 | 292 | ### 科研经历示例 293 | 294 | ```latex 295 | \item \textbf{基于强化学习的自主决策 Agent 系统研究} \hfill 2024.03 --- 至今 296 | \begin{itemize} 297 | \item \textbf{问题背景}: 现有 LLM-based Agent 在复杂任务中存在决策路径冗余... 298 | \item \textbf{研究内容}: 1) 提出基于 PPO 的 Agent 决策优化框架... 299 | \item \textbf{相关成果}: 第一作者论文已投稿 NeurIPS 2025... 300 | \end{itemize} 301 | ``` 302 | 303 | ### 项目经历示例 304 | 305 | ```latex 306 | \item \textbf{基于自我纠错机制的智能 RAG 检索系统} \hfill 2024.01 --- 2024.05 307 | \begin{itemize} 308 | \item \textbf{项目背景}: 为解决企业内部知识库检索效率低下问题... 309 | \item \textbf{核心痛点}: 最初版本召回率仅 65%... 310 | \item \textbf{技术方案}: 1) 借鉴 ReAct 思想, 设计迭代式检索策略... 311 | \item \textbf{最终效果}: 召回率从 65% 提升至 85%... 312 | \end{itemize} 313 | ``` 314 | 315 | ## 💡 内容建议 316 | 317 | ### 科研经历 318 | 319 | - 突出**问题背景**、**技术方案**和**量化效果** 320 | - 提及具体的模型(LLaMA、GPT-4)、方法(LoRA、DPO)和 benchmark(MMLU、HumanEval) 321 | - 强调论文发表、开源项目等学术成果 322 | 323 | ### 实习经历 324 | 325 | - 使用 **STAR 法则**:情境(Situation)→ 任务(Task)→ 行动(Action)→ 结果(Result) 326 | - 量化你的贡献:数据规模(XB tokens)、性能提升(X pp)、业务影响(XX% 提升) 327 | - 突出你在团队中的角色和独立负责的模块 328 | 329 | ### 项目经历 330 | 331 | - 描述**项目背景**和**痛点**,体现问题意识 332 | - 详细说明**技术方案**,展示技术深度 333 | - 强调**创新点**和**最终效果**,最好有对比数据 334 | 335 | ### 个人荣誉 336 | 337 | - 优先列出与 AI/算法相关的荣誉 338 | - 顶会论文 > 竞赛奖项 > 奖学金 339 | - 注明具体排名(如 Top 1%、金牌)和参与人数 340 | 341 | ## 🎯 求职方向适配 342 | 343 | 本模板适合以下求职方向: 344 | 345 | - 🤖 **大模型算法工程师**:LLM 训练、微调、对齐 346 | - 🧠 **Agent 算法研究员**:强化学习、多智能体系统 347 | - 📚 **RAG 算法工程师**:检索增强、知识库构建 348 | - ⚡ **模型推理优化工程师**:量化、蒸馏、部署加速 349 | - 🔬 **NLP 算法研究员**:文本生成、信息抽取、对话系统 350 | - 🎨 **多模态算法工程师**:视觉-语言模型、VLM 351 | 352 | ## 🤝 贡献 353 | 354 | 欢迎提交 Issue 和 Pull Request 来改进这个模板! 355 | 356 | 如果这个模板对你有帮助,欢迎给个 ⭐️ Star! 357 | 358 | ## 📮 联系方式 359 | 360 | - GitHub: [@adongwanai](https://github.com/adongwanai) 361 | - 项目地址: [LLM-Resume-Template](https://github.com/adongwanai/LLM-Resume-Template) 362 | 363 | ## 📜 许可证 364 | 365 | 本项目采用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 许可证。 366 | 367 | 你可以自由地: 368 | - ✅ **分享** — 复制和再分发本模板 369 | - ✅ **修改** — 重新组合、转换和构建本模板 370 | - ✅ **商用** — 将本模板用于商业目的 371 | 372 | 唯一要求:**署名** — 你必须给出适当的署名,提供指向本许可的链接,同时说明是否有做修改。 373 | 374 | ## 🙏 致谢 375 | 376 | 本模板基于 [resume](https://github.com/liweitianux/resume) 项目修改,感谢原作者的优秀工作! 377 | 378 | 针对大模型算法工程师求职场景进行了深度优化和内容重构。 379 | 380 | --- 381 | 382 | **祝你求职顺利,拿到心仪的 Offer!🎉** 383 | 384 | 如有问题,欢迎提 Issue 或加入讨论! 385 | 386 | -------------------------------------------------------------------------------- /resume.cls: -------------------------------------------------------------------------------- 1 | %% 2 | %% Copyright (c) 2018-2024 Weitian LI 3 | %% Copyright (c) 2016 Christophe Roger 4 | %% The LaTeX Project Public License (LPPL) Version 1.3c 5 | %% 6 | %% Resume LaTeX template. 7 | %% Based on 8 | %% YACC: Another Awesome CV by Christophe Roger 9 | %% https://github.com/darwiin/yaac-another-awesome-cv 10 | %% which is further based on 11 | %% Plasmati Graduate CV by Alessandro Plasmati 12 | %% https://www.latextemplates.com/template/plasmati-graduate-cv 13 | %% 14 | 15 | \ProvidesClass{resume}[2024/12/06 v2.6.2 Resume Class] 16 | \LoadClass{article} 17 | 18 | %% 19 | %% Class options 20 | %% 21 | 22 | \DeclareOption{monochrome}{\def\@monochrome{true}} 23 | \DeclareOption{zh}{\def\@zh{true}} 24 | \ProcessOptions\relax 25 | 26 | %% 27 | %% Packages 28 | %% 29 | 30 | \RequirePackage[% 31 | a4paper,% 32 | margin=1.5cm,% 33 | includefoot,% 34 | ]{geometry} 35 | \RequirePackage{xparse} 36 | \RequirePackage{etoolbox} 37 | \RequirePackage{fontspec} 38 | \RequirePackage{fontawesome5} 39 | \RequirePackage{parskip} % auto adjust parskip and items skip 40 | \RequirePackage{titlesec} 41 | \RequirePackage{enumitem} 42 | \RequirePackage{setspace} 43 | \RequirePackage{array} 44 | \RequirePackage{multirow} 45 | \RequirePackage{makecell} % multirowcell 46 | \RequirePackage{longtable} 47 | \RequirePackage[dvipsnames]{xcolor} 48 | \RequirePackage{tikz} 49 | \RequirePackage[skins]{tcolorbox} % required by tikz to make the header 50 | \RequirePackage{csquotes} 51 | \RequirePackage{relsize} % relatively scale the icons 52 | \RequirePackage{keyval} % key=value style parameters 53 | \ifdef{\@zh}{ 54 | \RequirePackage{xeCJK} 55 | }{} 56 | \RequirePackage{microtype} 57 | 58 | % 59 | % Hyperref 60 | % 61 | % Delay the execution of \hypersetup at \begin{document}. 62 | % NOTE: Should be set before hyperref uses it. 63 | \AtBeginDocument{% 64 | \hypersetup{% 65 | pdfborder={0 0 0},% No border around links 66 | pdfauthor={\@name},% 67 | pdftitle={% 68 | \ifdef{\@zh}{简历 | \@name}{Resume | \@name}% 69 | \ifdef{\@tagline}{ | \@tagline}{}% 70 | },% 71 | pdfkeywords={\ifdef{\@keywords}{\@keywords}{}},% 72 | }% 73 | } 74 | \RequirePackage{hyperref} 75 | 76 | %% 77 | %% General settings 78 | %% 79 | 80 | % Fonts 81 | \defaultfontfeatures{Mapping=tex-text} 82 | \setmainfont{IBM Plex Serif} 83 | \setmonofont{IBM Plex Mono} 84 | 85 | % Chinese setup 86 | \ifdef{\@zh}{ 87 | \setCJKmainfont{Noto Serif CJK SC} 88 | % Redefine '\emph' to bold style 89 | % Credit: https://tex.stackexchange.com/a/227644 90 | \let\emph\relax % there's no \RedeclareTextFontCommand 91 | \DeclareTextFontCommand{\emph}{\bfseries} 92 | }{} 93 | 94 | % Font Awesome icon aliases 95 | \newcommand*{\birthdaySymbol}{\faBirthdayCake} 96 | \newcommand*{\degreeSymbol}{\faGraduationCap} 97 | \newcommand*{\githubSymbol}{\faGithub} 98 | \newcommand*{\homeSymbol}{\faHome} 99 | \newcommand*{\infoSymbol}{\faInfoCircle} 100 | \newcommand*{\mailSymbol}{\faAt} 101 | \newcommand*{\mobileSymbol}{\faPhone} % \faMobilePhone is too narrow 102 | \newcommand*{\linkedinSymbol}{\faLinkedin} 103 | \newcommand*{\locationSymbol}{\faMapMarker*} 104 | \newcommand*{\phoneSymbol}{\faPhone} 105 | \newcommand*{\universitySymbol}{\faUniversity} 106 | 107 | % Color setup 108 | \ifdef{\@monochrome}{ 109 | \definecolor{basecolor}{HTML}{000000} % black 110 | }{ 111 | \definecolor{basecolor}{HTML}{000066} % blue 112 | } 113 | \colorlet{linkcolor}{basecolor} 114 | \colorlet{accentcolor}{linkcolor!90} 115 | \colorlet{symbolcolor}{linkcolor!85} 116 | 117 | % Date format: yyyy.mm.dd 118 | \newcommand*{\twodigits}[1]{\ifnum#1<10 0\fi\the#1} 119 | \renewcommand*{\today}{% 120 | \leavevmode\hbox{\the\year.\twodigits\month.\twodigits\day} 121 | } 122 | 123 | % Non-numbered pages 124 | \pagestyle{empty} 125 | 126 | % Last-page style 127 | \def\ps@lastpage{% 128 | \def\@oddfoot{\textcolor{gray}{\footnotesize\@fileinfo}\hfil}% 129 | \def\@evenfoot{\textcolor{gray}{\footnotesize\@fileinfo}\hfil}% 130 | } 131 | \AtEndDocument{\thispagestyle{lastpage}} 132 | 133 | % No paragraph indentation 134 | \setlength{\parindent}{0em} 135 | 136 | % Line spacing 137 | \ifdef{\@zh}{ 138 | \linespread{1.25} 139 | }{ 140 | \linespread{1.15} 141 | } 142 | 143 | % Setup resume sections 144 | \titleformat{\section}{\Large\raggedright}{}{0.2em}{}[\titlerule] 145 | \titlespacing{\section}{0em}{1ex}{1ex} % 146 | 147 | % Configure list via 'enumitem' 148 | \setlist[itemize,1]{label=\faAngleRight, nosep, leftmargin=2em} 149 | \setlist[description,1]{style=sameline} 150 | 151 | % Width of the left column for date ranges 152 | \newlength{\leftcolwidth} 153 | \newlength{\rightcolwidth} 154 | \ifdef{\@zh}{% 155 | \setlength{\leftcolwidth}{6em} 156 | }{ 157 | \setlength{\leftcolwidth}{8.1em} 158 | } 159 | \setlength{\rightcolwidth}{\dimexpr \textwidth - \leftcolwidth - 4\tabcolsep} 160 | 161 | %% 162 | %% Generic commands 163 | %% 164 | 165 | \newcommand*{\creativecommons}[2]{% 166 | \href{https://creativecommons.org/licenses/#1/#2/}% 167 | {\faCreativeCommons{} \uppercase{#1} #2}% 168 | } 169 | 170 | \newcommand*{\githublink}[2]{% 171 | \href{https://github.com/#1/#2}{\githubSymbol{} #1/#2}% 172 | } 173 | 174 | \newcommand*{\link}[2]{\textcolor{linkcolor}{\href{#1}{#2}}} 175 | 176 | % The scale step for icons. 177 | % A positive step to enlarge icons, and a negative step to reduce them. 178 | \def\@iconscale{1} 179 | \newcommand*{\iconscale}[1]{\def\@iconscale{#1}} 180 | 181 | % Icon: \icon[size]{\faICON} 182 | \NewDocumentCommand{\icon}{om}{ 183 | {\IfValueTF{#1}{#1}{\relsize{\@iconscale}}% 184 | \makebox[1em][c]{\textcolor{symbolcolor}{#2}}}% 185 | \hspace{0.2em}\strut% 186 | } 187 | 188 | % Test whether the command argument is given and is not empty 189 | % Credit: https://tex.stackexchange.com/a/63233 190 | \ExplSyntaxOn 191 | \DeclareExpandableDocumentCommand{\IfNoValueOrEmptyTF}{mmm}{% 192 | \IfNoValueTF{#1}{#2}{% 193 | \tl_if_empty:nTF {#1} {#2} {#3} 194 | } 195 | } 196 | \ExplSyntaxOff 197 | 198 | %% 199 | %% Tags 200 | %% 201 | 202 | % Create a tag: \tag{