计算机科学数智科技软件开发实习报告_第1页
计算机科学数智科技软件开发实习报告_第2页
计算机科学数智科技软件开发实习报告_第3页
计算机科学数智科技软件开发实习报告_第4页
计算机科学数智科技软件开发实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学数智科技软件开发实习报告一、摘要2023年7月1日至2023年8月30日,我在一家专注于人工智能与大数据技术的公司担任软件开发实习生,负责智能推荐算法模块的优化与测试。通过参与项目,我主导完成了5个算法模型的代码重构,将核心模块的执行效率提升了23%,并通过自动化测试脚本覆盖了98%的功能点,减少了后续维护成本。工作中深度应用了Python编程、机器学习库Scikitlearn和Docker容器化技术,结合Jira进行敏捷开发管理,验证了CI/CD流程对项目交付的促进作用。提炼出模块化设计、数据驱动调优的方法论,可直接应用于类似场景的快速迭代开发。二、实习内容及过程1.实习目的我这次实习的目标挺明确的,就是想去了解数智科技领域里软件开发到底是个啥样,看看自己学的那些课能不能用到实际项目上,顺便积累点项目经验,为以后找工作铺路。2.实习单位简介我在一家做智能推荐系统的公司实习,主要业务就是用算法给用户推荐他们可能感兴趣的内容。公司不大,但技术氛围挺浓,大家平时交流都是围绕业务场景和技术实现,有时候还会讨论些业界最新的模型进展,比如Transformer架构的应用。3.实习内容与过程刚开始那周主要是熟悉环境,跟着导师看了几个老项目代码,学怎么用Git管理版本,还有公司的CI/CD流程。7月5号开始正式参与一个电商推荐系统的优化项目。项目里我负责优化一个基于协同过滤的模型,原版代码跑起来特别慢,线上A/B测试效果也不太行。导师让我先从数据预处理入手,我发现他们用的特征工程有点老,就重新设计了一套方案。具体来说,把用户历史行为的时序特征做了下采样,新增了几个隐语义模型能更好捕捉的交叉特征,最后用Pandas的分组聚合函数把这些特征转出来,内存占用直接降了40%,特征维度也压缩了30%。7月15号左右,我开始接触模型调优。原模型用的是Surprise库的基线算法,我在本地用CPU跑了一个多维度交叉验证,发现当特征矩阵超过500万行时,内存就崩了。导师建议我试试用Docker挂载大内存的机器,顺便把代码改成用Spark跑。折腾了两天,总算把分布式训练搞通了,线上部署后,冷启动时间从原来的5秒缩短到1.5秒,用户等待感知明显变好。期间还参与了两次技术分享会,一次是关于DeepFM模型在推荐场景的应用,我做了个PPT,主要靠导师帮着补细节;另一次是讲如何用Redis缓存中间结果,避免重复计算,这个我倒是自己琢磨出来的,现场效果还行。4.实习成果与收获优化后的协同过滤模块,线上A/B测试CTR提升了12%,虽然不算惊天动地,但对比之前没动过代码的状态,已经挺满意了写了5个自动化测试脚本,覆盖了核心业务逻辑的90%,后来测试同事还问我能不能再扩展几个学会了怎么用特征重要性分析来指导工程实践,比如通过SHAP值排序,把几个效果不明显的特征给去掉了,模型跑得更快了最大的收获是认识了几个技术大佬,他们教我很多学校里没讲过的东西,比如怎么看线上服务的日志,怎么用Prometheus监控资源消耗,这些真的挺实用的。5.问题与建议实习里也碰到点问题。比如公司管理上,有时候需求变更特别频繁,技术评审和产品会议的时间安排也挺混乱的,有次我差点被同时安排去两个会议室。培训机制方面,新人入职后的系统培训就一天,很多工具都是靠自己在网上找资料,比如第一次用Jenkins搞CI流水线,踩了不少坑。岗位匹配度上,我理想里是能多接触些前沿算法,但实际工作中大部分时间还是优化现有系统,成长空间有限。建议的话,公司可以考虑用Trello来管理任务,需求变更时能更清晰;给新人准备份更详细的工具手册,特别是Docker和Spark这些;能不能每周安排个技术交流时间,让新来的多学点东西。这些其实都不复杂,但可能没人提。三、总结与体会1.实习价值闭环这8周实习,感觉就像把学校里学的那堆理论和实际工作搭了个桥。刚开始7月1号进去时,我连Docker命令都记不全,写Python代码还老出错。后来跟着导师把电商推荐系统的特征工程、模型调优都过了一遍,特别是7月15号那个分布式训练的坎,从卡死到跑通,每一步都挺磨人的。现在回看,当初为了把冷启动时间从5秒降到1.5秒,试了三种不同的缓存策略,最后用本地变量缓存居然效果最好,这种踩坑踩出来的经验,比学校做十个大作业都管用。写的那5个自动化测试脚本,后来测试同事还用上了,这种感觉挺奇妙的。整个闭环就是:学理论碰壁解决问题产出价值获得认可。2.职业规划联结实习前,我本来想毕业后进个算法岗,但后来发现软件开发才是我的强项。现在看,做技术可能更适合我。比如8月25号那个技术分享会,我讲Redis缓存优化那部分,虽然准备时手心冒汗,但同事反应挺积极的。这可能就是我的方向。接下来打算把Python和系统优化再深化一下,看看明年能不能考个AWS的认证,顺便多刷点LeetCode的难题。导师说如果表现好,明年可以留用,虽然概率不大,但这个想法挺让我有动力的。3.行业趋势展望公司用的很多技术,比如DeepFM、时序特征工程,都是行业主流。但8月30号离职时,我也注意到他们团队居然还没用上最新的联邦学习方案,估计是算力跟不上。这让我意识到,技术发展太快了,比如Transformer在推荐领域已经能见到应用,但落地成本很高。学校里学的很多模型,比如SVD、GBDT,现在很多公司都在用优化过的版本。这让我明白,学校教育其实挺重要的,但更重要的是怎么把基础知识和行业工具结合起来。比如我后来写测试脚本时,就用到了Scikitlearn里的评估工具,这比单纯用Python自带的函数效率高多了。4.心态转变最大的变化是抗压能力。刚开始提交代码被拒,我就想打退堂鼓,但导师说"新人犯错是正常的"。有次调试推荐算法参数到凌晨两点,结果发现是Redis过期了,当时真想砸电脑。现在想想,这种经历其实挺宝贵的。现在写代码会主动去查线上日志,而不是等测试提bug。还有责任感,以前做实验只要自己跑通就行,现在要考虑部署后会不会影响其他模块。比如7月20号那个特征工程重构,为了不影响旧接口,我写了大量兼容代码,虽然最后上线时还是出过小问题,但至少没造成事故。这种心态转变,可能比学会多少新技术更有意义。5.未来行动接下来打算把实习里没弄明白的分布式事务问题补上,现在在看Raft协议的论文。同时也在整理实习中写的那些脚本,打算开源,虽然知道没什么人看,但至少是个作品集。导师最后说如果我想走技术路,可以把实习期间做的优化案例整理成文档,明年秋招直接用。现在想想,这8周确实把我的简历直接升级了。四、致谢1.感

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论