模型训练推理优化实践(一):训练优化
Transformer模型入门

Transformer模型入门

Transformer模型最早是由Google在2017年发布的一篇论文《Attention Is All You Need》中提出。最早该方法用用于翻译任务中,发现性能能够超越之前最优秀的RNN模型。在后一年,Google发表的《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》提出了BERT模型,和OpenAI发布《Improving Language Understanding by Generative Pre-Training》提出了GPT模型,这两个著名的模型奠定了大模型的基础。

阅读更多
windbg使用教程

windbg使用教程

windbg是微软开发的用于在win平台调试程序的强大工具,支持内核态、用户态调试。可以调试程序、正在运行的进程和动态库,本教程主要介绍在用户态模式下调试应用程序。

阅读更多

spdlog源码阅读(二):Logger类的实现

日志对象创建

全局默认logger

spdlog库通过logger类提供日志接口,而logger的创建有多种方式。第一种方式是全局默认logger,例如,在官方example日志使用样例中提供的默认的日志调用:

阅读更多

spdlog源码阅读(一):简介

spdlog是一个跨平台、快速和轻量的C++日志库,其完全header-only实现和基于C++11实现的特性使其可以很好的集成到任何项目中。项目地址:https://github.com/gabime/spdlog

spdlog短小精悍,代码行数在2w左右,且代码风格优秀,符合现代C++编程规范,有许多值得学习的实践,遂开坑对该源码开始阅读和理解。

阅读更多
多线程内存模型(3):锁,原子变量

多线程内存模型(3):锁,原子变量

锁是多线程编程中最常用的同步机制,用于保护共享资源,防止多个线程同时访问或修改,从而避免数据不一致或竞态条件的发生。以下代码是互斥锁的使用,利用RAII来完成自动锁的自动析构。

阅读更多
多线程内存模型(2):内存屏障