阅读书籍《图解大模型:生成式AI原理与实战》,做些笔记。
第一章:大语言模型入门
第二章:词元和嵌入
第三章:图解大语言模型
第四章:文本分类
第五章:文本聚类和主题建模
第六章:提示工程
第七章:高级文本生成技术和工具
第八章:语义搜索和检索增强生成(RAG)
第九章:多模态大语言模型
第十章:创建文本嵌入模型
第十一章:为分类任务微调表示型模型
第十二章:微调生成模型
参考链接
- 《图解大模型》配套阅读——大模型面试题 200 问,by 李博杰.
阅读书籍《图解大模型:生成式AI原理与实战》,做些笔记。
当使用隐式链接的方法调用 DLL 中的导出函数时,需要代码的头文件、导入库lib和动态链接库。如何缺失导入库lib,将无法使用隐式链接的方式调用 DLL中的函数。幸运的是,通过一些手段可以从DLL中直接生成导入库lib。
步骤如下:
1 | include '..\implib.inc' |
生成DLL导入库lib的方案有很多,最便利的方法是使用 ImpLib SDK 工具。具体教程如下:
1 | \bin\dll2def c:\windows\system32\kernel32.dll kernel32.def |
1 | \bin\fasm kernel32.def kernel32.lib |
最近需要使用C++的多线程编写一个处理程序,因此学习记录一下C++多线程的编程知识。
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
传统的C++(C++11标准之前)中并没有引入线程这个概念,在C++11出来之前,如果我们想要在C++中实现多线程,需要借助操作系统平台提供的API,比如Linux的<pthread.h>,或者windows下的<windows.h> 。
C++11提供了语言层面上的多线程,包含在头文件
中。它解决了跨平台的问题,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C++11 新标准中引入了5个头文件来支持多线程编程。
这5个头文件分别是:
创建线程的基本方法如下所示:
1 | # 示例1 |
主线程与子线程的处理方法:
可以使用joinable判断是join模式还是detach模式。
1 | if (myThread.joinable()) foo.join(); |
1 | #include <iostream> // std::cout |
因为程序边运行边创建线程是比较耗时的,所以我们通过池化的思想:在程序开始运行前创建多个线程,这样,程序在运行时,只需要从线程池中拿来用就可以了.大大提高了程序运行效率.一般线程池都会有以下几个部分构成:
1 | #include <iostream> |
最近找了一个 NTP 时间同步工具,使用 GO 语言编写,能够跨平台在 Windows 、 Linux 、 Mac 上运行,挺实用的,但是需要配置 GO 语言环境,于是记录一下过程。
GO 语言环境的安装请参考:
下载 GO 语言相关模块时可能被墙,需要设置代理加速下载,方法如下:
1 | # 执行下面的指令 |
使用 IDEA 集成开发环境运行 Sprint Boot 应用程序时,控制台中文乱码,参考文章1分钟解决IntelliJ IDEA 控制台中文乱码,统一设置 utf-8,再也不会乱码了中第一种方法解决了中午乱码问题。
消息队列是一种常用的软件架构,有必要了解和学习它。
消息队列(Message Queue,简称MQ)是一种在计算机系统中用于在不同应用程序或服务之间进行异步通信的中间件技术,它通过一个存储消息的队列作为中间人,允许发送者(生产者)将消息放入队列,接收者(消费者)则在准备好时从队列中取出并处理,从而实现系统解耦、异步处理和流量削峰等目标。消息队列的出现解决了分布式系统中数据丢失、服务故障、处理能力不足以及业务系统间强耦合等问题。
消息队列使用点对点消息传递模式,在该模式中,一个应用程序(称为“发送者”)向队列提交消息,另一个应用程序(称为“接收者”)则从队列中获取并使用消息。发送者和使用者之间存在紧密耦合的一对一关系,并且每条消息只能使用一次。
如果您的应用程序需要将消息分发给多方,则可以组合多个消息队列,或者使用发布/订阅 (pub/sub) 消息传递模型。
在发布/订阅消息传递中,生成消息的应用程序称为发布者,而使用该消息的应用程序称为订阅者。每条消息都会发布到一个主题,订阅该主题的每个应用程序都会获得发布到它的所有消息的副本。
大多数消息传递中间件解决方案都支持消息队列(点对点)和发布/订阅消息模型。
消息总线是一种企业服务总线 (ESB),它允许服务随处访问数据,同时确保它们在分布式系统架构中保持解耦和独立运行。当使用消息总线时,所有服务或应用程序必须共用通用数据类型、通用命令集和通用通信协议(尽管它们可能用不同的语言编写)。使用者可以决定如何使用信息。
如果解耦的应用程序要通过消息总线进行通信,则必须转换消息以使其归属于同一类型。相反,消息队列可传输各类消息,无论其类型是否相同。
最近单位有一台计算机,只有一个网卡,但是需要通三个网段通信,为了避免各个网段之间的组播通信流量占用带宽,拟采用Vlan技术,使用三次交换机进行逻辑隔离。具体过程记录如下。
使用 VLAN 接口。
核心思想是:在计算机的网络接口上创建多个虚拟接口,并将每个虚拟接口关联到不同的VLAN。
这种方法适用于支持802.1Q VLAN标记的交换机和操作系统。它在单个物理网卡上创建多个逻辑接口。
物理连接:服务器通过一根网线连接到支持802.1Q的交换机端口。该交换机端口需要被配置为Trunk模式,允许携带多个VLAN的流量。
服务器端配置:在服务器的操作系统上,你需要创建VLAN虚拟接口。
1 | 例如: |
对于Realtek网卡,可使用realtek diagnostic utility工具,创建多个vlan网口。具体请参考 realtek adapter的vlan设定。
1 | eth0.10 -> 192.168.10.100/24 (VLAN 10的网关可能是 192.168.10.1) |
工作原理: 当服务器要发送一个数据包到VLAN 10的网络时,它会通过 eth0.10 发出,操作系统会自动给这个数据包打上VLAN 10的标签。交换机的Trunk端口收到后,会根据标签将数据包转发到VLAN 10。反之,当交换机发送一个带有VLAN 20标签的数据包给服务器时,只有服务器的 eth0.20 接口能接收到它。
对于分布式系统的运转而言,各个分布式的实体基于同一时间标准是必要条件,如果各个分布式实体的时间标准不统一,整个系统必然分崩离析。下面介绍在不同操作系统平台设置 NTP 客户端的方法。
1 | 打开日期和时间设置 |
1 | 打开注册表编辑器(regedit)。 |
注意: SpecialPollInterval 值的设置必须在位于 MinPollInterval 和 MaxPollInterval 之间,否则 NTP 客户端不会按 SpecialPollInterval 预期同步。具体请参考:京准电钟课堂:NTP时钟同步时客户端未按预期同步 。
chrony 既可作时间服务器服务端,也可作客户端。性能比 ntp 好,且配置管理方便。chrony 由两个程序组成,分别是 chronyd 和 chronyc。chronyd 是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc 提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在 chronyd 实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
以 NTP 工具 Chrony 为例,具体步骤如下:
1 | # 查看 chrony 依赖的包 |
1 | # 注释默认的 NTP 服务器pool,配置上级时间服务器 |
1 | # 获取 chronyd 的PID |
1 | # 确保你的chrony服务器自身已经成功与上层服务器同步。可以通过 chronyc sources 命令检查,服务端需要先成功同步时间,才能为客户端提供同步服务, NTP服务器前设置 ^* 表示已与该服务区时钟同步。 |
1 | sudo chronyc -a makestep |
为了更好的有效的沟通,及时准确的发现对方言语中的逻辑谬误,以便有理有据精准反驳,学习一点逻辑学知识是非常有必要的。阅读格桑老师的《逻辑学入门》,做点读书笔记。
001 01. “老师,我不认识孙中山” 偷换概念
003 02. “买一送一,原来是这样的啊” 混淆概念
005 03. “你说的千里马,明明就是蛤蟆嘛” 模糊概念
007 04. “所有的天鹅都应该是白色的” 归纳谬误
009 05. “为什么总会有人将错就错” 协和谬误
011 06. “上不了好学校,将来就会学坏吗” 滑坡谬误
013 07. “我就不信我赢不了” 赌徒谬误
015 08. “贫穷和疾病不是偷窃的理由” 诉诸怜悯
017 09. “多数人认为对的,不一定是真理” 诉诸大众
019 10. “我一直躺着看书,也没有近视” 诉诸个体
020 11. “经验这个东西,并非都那么可靠” 诉诸经验
022 12. “没人能证明你是对的,所以别跟我争辩” 诉诸无知
024 13. “请你相信我,那只是一个例外” 诉诸规则以外
025 14. “如果做不到完美,就干脆不要做” 诉诸完美
027 15. “我只是偷了东西,又没有伤人” 诉诸最差
029 16. “如果你不相信,我说了也没用” 诉诸信心
031 17. “卧室里放这个,全家得癌症” 诉诸恐惧
033 18. “你说喝酒对身体不好,你不也喝吗” 诉诸反诘
035 19. “不说话,肯定就是你弄坏的” 诉诸沉默
037 20. “如果你不想被开除,就得遵守这一规则” 诉诸势力
040 21. “无利不早起,他这么做一定有所图” 动机论
042 22. “这是名人说的,难道也是错的吗” 诉诸权威
044 23. “谎言重复一千遍,也不会变成真理” 重复谎言
046 24. “开这么好的车,肯定是父母有钱” 强制推理
047 25. “太阳傍晚下山,是因为保姆阿姨回家了” 因果混淆
049 26. “挂一个鸟笼,就一定要养鸟吗” 惯性思维
051 27. “有其父必有其子,是不是真的呢” 诉诸出身
053 28. “我的鸡蛋是臭的?你才是臭的呢” 诉诸人身
055 29. “有意义就是好好活,好好活就是做有意义的事” 循环论证
058 30. “再逼真的稻草人,也不是真实的人” 稻草人谬误
060 31. “骆驼挂铃铛和高塔挂铃铛,不是一回事” 转移论题
063 32. “刻舟求剑的楚国人,到底错在哪儿了” 诉诸感觉
066 33. “你的假设有问题,别想误导我” 预设谬误
071 34. “这样的结果很可怕,你掂量掂量” 诉诸后果
074 35. “我不想出国,所以没必要学英语” 否定前件
077 36. “东施效颦,为什么越闹越丑” 机械类比
079 37. “如果再给我一次机会,我一定……” 无理假设
081 38. “双重否定等于肯定,是这样的吗” 双否定前提
083 39. “所有的天鹅,都有白色的羽毛” 不当周延
085 40. “所有的科莱特人都是说谎者” 罗素悖论
088 41. “鲍西亚的肖像藏在哪个匣子中” 排中律
091 42. “为什么是这样,而不是那样呢” 充足理由律
093 43. “妈妈,师范大学在哪儿呢?” 范畴错误
095 44. “天才是1%的灵感加上99%的汗水” 断章取义
097 45. “嗯?有两个报社的记者参加……” 结构歧义
099 46. “那里的老鼠没有一只是驼背的” 隐含命题
102 47. “套用你的话,看你还能怎么狡辩” 同构意悖
105 48. “说了半天,跟什么都没说一样” 分解问题
108 49. “不是这个,就是那个,没有中间物” 虚假两分
111 50. “你如何知道它是真的,能证明吗” 事实断言
114 51. “只要支付全款的10%就行了” 隐瞒证据
117 52. “不好直接回答时,就回答点别的” 答非所问
119 53. “什么是‘正’,什么是‘不正’” 绝对化谬误
122 54. “诡辩家的半费之讼,你看懂了吗” 二难诡辩术
127 55. “导致这种结果的原因只有一个吗” 简化因果关系
129 56. “中国人民银行的资金有18元8角8分” 故意歪解
131 57. “阴沉着脸,是因为心情不好” 命名谬误
133 58. “小明是小明爸爸的儿子” 同语反复
135 59. “明天约好了去爬山,所以明天肯定是晴天” 一厢情愿
137 60. “所有男人都喜欢看世界杯吗” 区群谬误
139 61. “说不上来,就是有一种感觉” 直觉思维
141 62. “这个项目结束后,起码能赚二三十万” 预期理由
143 63. “萧敬腾一开演唱会,肯定会下雨” 巧合谬误
145 64. “给懒惰的农民发两头牛,他们就勤奋了” 因果倒置
148 65. “夸奖让学生成绩下降,责骂让学生成绩进步” 回归谬误
150 66. “和尚动得,为何我动不得” 推不出来
151 67. “下半年有富余的话,我肯定借给你” 设定条件
153 68. “抽烟会影响空气质量,赶紧戒了吧” 无足轻重
155 69. “自古以来,家务活都是女人做的” 诉诸传统
158 70. “我们该为别人的盲目行为负责吗” 说即劝说
160 71. “狂放之士,用他有什么益处呢” 以人为据
162 72. “盗书,怎么能算是偷呢” 说文解字
165 73. “你的动作总是出错,不是跳舞的料” 过度引申
167 74. “人的眼睛有5.76亿像素,却终究看不懂人心” 不当类比
170 75. “眼见都不一定为实,更何况道听途说呢” 诉诸传言
171 76. “本命年穿红色衣服,就会有好运吗” 破除迷信
173 77. “简单答案?算了吧……” 简单答案不存在
175 78. “思维卡壳的时候,你该怎么办” 触类旁通
177 79. “能不能把话说得明白一点儿” 中性词语
179 80. “打破砂锅问到底,直至找出满意的答案” 追踪思维
181 81. “葡萄那么酸,我才不想吃呢” 合理化
183 82. “是团体中的成员太蠢了” 集体思维
186 83. “你不认为这么想是合理的吗” 诱导性问题
188 84. “把最胖的那位科学家丢出去” 求易思维
190 85. “组合的力量是无穷的……” 组合思维
192 86. “我喊‘3’的时候大家一起睁开眼” 逆向思维
194 87. “下次不下雨的时候,献祭活人就是了” 在此之后
196 88. “抽维珍妮细烟能让女性身材变纤细吗” 固定联想
最近公司遇到一起网站无法访问的故障,记录一下排骨过程。
某工位人员电脑突然无法访问公司 web 服务器上部署的网站。