Laisky's Notes
继续聊聊 BitLocker & TPM 的一些安全须知。 BitLocker 属于 Windows OS,开机后需要先启动 OS,所以 C 盘仅支持自动解密,只有其他非系统盘支持 TPM + PIN 等外部密钥手动解密。所以不要在 C 盘上放敏感信息。你可以搜索一下“BitLocker 绕过”的相关新闻,自动解密有很多安全隐患。 而且,虽然 TPM 是安全的,但是 TPM 和 CPU 间的通信是通过主板明文进行的,物理上存在飞线攻击的可能性。所以不能单纯地信任 TPM,而是要引入外部密钥,而最常用的就是…
为了防止误人子弟,基于 TPM PCR 加密必须得强调一些事实。
前文讲到基于 TPM RootKey 和 PCRs 来派生密钥,这样可以确保系统完整性。但是 PCR 是基于 SHA 算法的,一旦你系统升级,这个度量值也会变,那么你就没法再派生出相同的密钥了,从而导致解密失败。这个特性被称为 TPM 脆弱性,英文为 TPM Brittle/Fragile。
TPM 2.0 为这个问题提供了解决方法,原理很简单也很通用,就是让密钥派生支持基于非对称密钥签名的校验。简而言之,你可以提供一个公钥,然后只要被度量对象有被指定私钥签名,那么就可以通过 TPM 校验,并且始终派生出相同的密钥。
这种基于公私钥签名的方式非常常见,比如 UEFI SecureBoot 就是这么校验 OS 的,CPU 也是这么校验 UEFI 的。不过 BitLocker 没有采取这种方式,BitLocker 仍然是基于 PCRs,但不是全部 PCRs,而是主要使用了 firmware 的 PCR,使得大部分 OS 升级都不会影响到 BitLocker TPM 的密钥派生。
顺带一提,在 https://chat.laisky.com 上选择 【QA -> security】可以激活一个安全领域的 chatbot,可以询问更多 TPM 相关的问题,所有的回答还会提供更详细的在线参考资料链接。
前文讲到基于 TPM RootKey 和 PCRs 来派生密钥,这样可以确保系统完整性。但是 PCR 是基于 SHA 算法的,一旦你系统升级,这个度量值也会变,那么你就没法再派生出相同的密钥了,从而导致解密失败。这个特性被称为 TPM 脆弱性,英文为 TPM Brittle/Fragile。
TPM 2.0 为这个问题提供了解决方法,原理很简单也很通用,就是让密钥派生支持基于非对称密钥签名的校验。简而言之,你可以提供一个公钥,然后只要被度量对象有被指定私钥签名,那么就可以通过 TPM 校验,并且始终派生出相同的密钥。
这种基于公私钥签名的方式非常常见,比如 UEFI SecureBoot 就是这么校验 OS 的,CPU 也是这么校验 UEFI 的。不过 BitLocker 没有采取这种方式,BitLocker 仍然是基于 PCRs,但不是全部 PCRs,而是主要使用了 firmware 的 PCR,使得大部分 OS 升级都不会影响到 BitLocker TPM 的密钥派生。
顺带一提,在 https://chat.laisky.com 上选择 【QA -> security】可以激活一个安全领域的 chatbot,可以询问更多 TPM 相关的问题,所有的回答还会提供更详细的在线参考资料链接。
❤2
Laisky's Notes
昨天那篇文章介绍了 QUIC 并不一定更快。这篇文章则更犀利地指出,QUIC 不仅不快,简直慢得要命😂。 原生 QUIC 的吞吐只有 TCP 的 27.7%,只有 TCP+TLS 的 42.5%。 https://laisky.notion.site/QUIC-vs-TCP-Which-is-Better-ad3bcd403c2340038a6d761fe70b1984 而从优化的思路可以看出导致 QUIC 慢的主要原因:逐包 ACK、逐包加密、用户态处理导致的额外切换开销。 而优化方式也是对症下药,延迟…
此文驳斥了那些认为 QUIC 更快的迷思,逐条分析批判了那些常见的“认为 QUIC 更快”的观点。QUIC 的根本目的是为未来做好一个易于部署和迭代的基座,其当前版本的性能没有任何优势甚至更慢。
https://laisky.notion.site/HTTP-3-Performance-Improvements-Part-2-Smashing-Magazine-bc610b26c95e4d2cb258bfca78f8240d?pvs=4
1. 拥塞阻塞?QUIC 也有
2. 0-RTT?QUIC 最多只能比 TCP 少一个 RTT,而且还极不安全。
3. connection migration?需要大改负载均衡器,而且没太大收益。
4. HoLB?取决于 multiplexer 算法,大部分情况下都比不上串行。
5. 和 TCP + TLS 比?QUIC 的性能远逊于 TLS。
prev: https://t.me/laiskynotes/62
https://laisky.notion.site/HTTP-3-Performance-Improvements-Part-2-Smashing-Magazine-bc610b26c95e4d2cb258bfca78f8240d?pvs=4
1. 拥塞阻塞?QUIC 也有
2. 0-RTT?QUIC 最多只能比 TCP 少一个 RTT,而且还极不安全。
3. connection migration?需要大改负载均衡器,而且没太大收益。
4. HoLB?取决于 multiplexer 算法,大部分情况下都比不上串行。
5. 和 TCP + TLS 比?QUIC 的性能远逊于 TLS。
prev: https://t.me/laiskynotes/62
Laisky on Notion
HTTP/3: Performance Improvements (Part 2) — Smashing Magazine | Notion
TL;DR;
https://youtu.be/cfaubxeS5HU?si=ViN-j4iDEY5hHgWV
FT 介绍拜登的“实业振兴国家大基金”计划,总投资计划高达 8910 亿美元。
虽然名字叫做"抑制通胀法案(Inflation Reduction ACT, IRA)",但其内容既和通胀无关,也和抑制无关,其核心目标是让制造业重新回流美国,切断对中国的产业链依赖,并且推动美国向清洁能源大幅转型。
这个法案也存在一些核心争议:
1. 川普再次上台后会不会废除这项法案?
2. 欧洲对该法案表达不满,认为完全破坏了 WTO 的全球化框架。
3. 中国垄断了再生能源制造业,没有中国,有可能完成激进的清洁能源转型吗?
FT 介绍拜登的“实业振兴国家大基金”计划,总投资计划高达 8910 亿美元。
虽然名字叫做"抑制通胀法案(Inflation Reduction ACT, IRA)",但其内容既和通胀无关,也和抑制无关,其核心目标是让制造业重新回流美国,切断对中国的产业链依赖,并且推动美国向清洁能源大幅转型。
这个法案也存在一些核心争议:
1. 川普再次上台后会不会废除这项法案?
2. 欧洲对该法案表达不满,认为完全破坏了 WTO 的全球化框架。
3. 中国垄断了再生能源制造业,没有中国,有可能完成激进的清洁能源转型吗?
https://laisky.notion.site/SDXL-in-4-steps-with-Latent-Consistency-LoRAs-3baba49183874166ad5fece67b4d066e?pvs=4
此文从使用上简要介绍了 stable diffusion LCM LoRA 蒸馏模型(distillation),还提供了可运行的 python 代码。
简而言之,蒸馏模型就是在原有大模型的基础上训练出一个更小更快的模型,而且其输出效果和大模型接近。过去蒸馏模型都是定制化的,而 LCM 是一个通用型的蒸馏模型,你可以指定任何一个预训练的模型,然后套上 LCM 来使用。
LCM 可以在更少的步数(steps)上实现和原模型相近的效果,大幅缩短推理耗时。
此文从使用上简要介绍了 stable diffusion LCM LoRA 蒸馏模型(distillation),还提供了可运行的 python 代码。
简而言之,蒸馏模型就是在原有大模型的基础上训练出一个更小更快的模型,而且其输出效果和大模型接近。过去蒸馏模型都是定制化的,而 LCM 是一个通用型的蒸馏模型,你可以指定任何一个预训练的模型,然后套上 LCM 来使用。
LCM 可以在更少的步数(steps)上实现和原模型相近的效果,大幅缩短推理耗时。
Laisky on Notion
SDXL in 4 steps with Latent Consistency LoRAs | Notion
Latent Consistency Models (LCM) are a way to decrease the number of steps required to generate an image with Stable Diffusion (or SDXL) by distilling the original model into another version that requires fewer steps (4 to 8 instead of the original 25 to 50).…
❤1
最近调研了一下国密,我被这东西震撼到了。国密 TLS 和国际 TLS 不兼容,国密和国密互相间也不兼容🤮。大量的属性字段各个库各自拍脑袋决定,A 库加密的东西只有 A 库能解密。
似乎也正是因为兼容性问题,各家的实现最终都收敛到 gmssl 这个 C 库上来了。
补充:同为 C 库,还有一个项目是阿里的铜锁。然而,铜锁和 gmssl 互相不兼容…
2023/12/22 补充:最终我选用了铜锁,因为它是基于 openssl 的,支持非常细粒度的操作。顺带一提,不兼容性主要围绕 X.509 的各项属性定义,国密没有加入到国际体系,所以各个实现各自定义了一套,这也就导致了互不兼容。但如果你只用到了对称加密、哈希,是不会有不兼容的。
似乎也正是因为兼容性问题,各家的实现最终都收敛到 gmssl 这个 C 库上来了。
补充:同为 C 库,还有一个项目是阿里的铜锁。然而,铜锁和 gmssl 互相不兼容…
2023/12/22 补充:最终我选用了铜锁,因为它是基于 openssl 的,支持非常细粒度的操作。顺带一提,不兼容性主要围绕 X.509 的各项属性定义,国密没有加入到国际体系,所以各个实现各自定义了一套,这也就导致了互不兼容。但如果你只用到了对称加密、哈希,是不会有不兼容的。
🤡14🗿3💩2
* Atomic energy, climate, and Russia https://youtu.be/2Ws6qbf_hcA?si=MpkfnPPV2JyewdSS
* Nuclear Aftershocks https://youtu.be/lRmaugZUIGU?si=AOtfQgl_7NpQFogF
* Can hydrongen help the world reach net zero https://youtu.be/v7UwbJ8n9L0?si=IT3gWjD1JnoFNi_t
最近看了好几部关于核能和新能源的纪录片,记一个笔记:
* 因为气候危机迫在眉睫,人类必须立刻大幅削减碳排放。
* 但是可再生能源存在一个重大缺陷,就是供能不稳定,一整个风能园区或太阳能园区可能会在短时间内失去发电能力。
* 所以可再生能源必须搭配一个稳定的功能单元一起运行,而核电站就是一个非常理想的稳定发电单元。
* 福岛核危机敲响了警钟,让欧洲尤其是德国走向了弃核之路。德国人的观点也很正确,我们不能寄希望于这种危险且无法控制的东西。
* 核能还有个问题是,俄国垄断了全球商业核能的核原料供应,即使在俄乌战争期间,欧美也没敢制裁俄国核工业企业,因为他们都依赖于俄罗斯的核燃料。
* 新能源也有类似的问题,中国垄断了新能源材料的生产,比如稀土和太阳能板。
* 美国发起了千亿美元的 IRA 法案,希望将制造业带回美国,并且全面转型新能源。但是该法案遭到了欧洲的批评和抵制
* 欧洲正在大力发展氢能源,希望让由可再生能源制造的氢能扮演起稳定供能的角色。
next: https://t.me/laiskynotes/90
* Nuclear Aftershocks https://youtu.be/lRmaugZUIGU?si=AOtfQgl_7NpQFogF
* Can hydrongen help the world reach net zero https://youtu.be/v7UwbJ8n9L0?si=IT3gWjD1JnoFNi_t
最近看了好几部关于核能和新能源的纪录片,记一个笔记:
* 因为气候危机迫在眉睫,人类必须立刻大幅削减碳排放。
* 但是可再生能源存在一个重大缺陷,就是供能不稳定,一整个风能园区或太阳能园区可能会在短时间内失去发电能力。
* 所以可再生能源必须搭配一个稳定的功能单元一起运行,而核电站就是一个非常理想的稳定发电单元。
* 福岛核危机敲响了警钟,让欧洲尤其是德国走向了弃核之路。德国人的观点也很正确,我们不能寄希望于这种危险且无法控制的东西。
* 核能还有个问题是,俄国垄断了全球商业核能的核原料供应,即使在俄乌战争期间,欧美也没敢制裁俄国核工业企业,因为他们都依赖于俄罗斯的核燃料。
* 新能源也有类似的问题,中国垄断了新能源材料的生产,比如稀土和太阳能板。
* 美国发起了千亿美元的 IRA 法案,希望将制造业带回美国,并且全面转型新能源。但是该法案遭到了欧洲的批评和抵制
* 欧洲正在大力发展氢能源,希望让由可再生能源制造的氢能扮演起稳定供能的角色。
next: https://t.me/laiskynotes/90
👍1
Laisky's Notes
* Atomic energy, climate, and Russia https://youtu.be/2Ws6qbf_hcA?si=MpkfnPPV2JyewdSS * Nuclear Aftershocks https://youtu.be/lRmaugZUIGU?si=AOtfQgl_7NpQFogF * Can hydrongen help the world reach net zero https://youtu.be/v7UwbJ8n9L0?si=IT3gWjD1JnoFNi_t 最近…
顺带简单提一句,很多人以为气候变暖是温水煮青蛙,拖一拖忍一忍就行了。但其实不是的,气候变暖是一个正反馈系统,做一个形象的比喻就是,气候灾难就是卡在半山腰上的一块巨岩,而人们正在试图撬动它。一旦它被撬动了,它就会加速地滚下山将人类文明砸个粉碎。而且一旦这块巨石开始滚动了,人类即使立刻停止一切碳排放,也丝毫不会影响到这块巨石的加速滚落过程。所以人类的全部机会,就是阻止撬动这块巨石,而我们并没有很多时间和空间了。
Ps. 很多人以为气候变暖就是热一点而已,但其实最大的威胁来自于湿度而不是温度。
人的散热依赖于汗液蒸腾作用,如果环境湿度过高,人体就只能靠辐射散热。当环境湿度为 100% 时,35 摄氏度的气温就能让在阴凉室内静卧的人热死。
Ps. 很多人以为气候变暖就是热一点而已,但其实最大的威胁来自于湿度而不是温度。
人的散热依赖于汗液蒸腾作用,如果环境湿度过高,人体就只能靠辐射散热。当环境湿度为 100% 时,35 摄氏度的气温就能让在阴凉室内静卧的人热死。
😱1
各位使用 azure openai 的建议去查查自己的账单。我的上一期账单,azure 的实际扣费单价比公示价格高了 30 倍。我去开了 ticket 后同意给我退款。
而且这个多出来的费用不会显示在 cost management 里,而是仅仅存在于 invoice 里(很鸡贼!)。
后续:钱已经退我了,但是我对 azure 的处理是不满意的,有两个我认为很严重的问题没有给出任何解释:
1. 只承认计价错误,没解释这个模型根本不存在,何来的单价?
2. 没解释这个费用为什么完全绕过了 cost management 和 budget?
next: https://t.me/laiskynotes/98
而且这个多出来的费用不会显示在 cost management 里,而是仅仅存在于 invoice 里(很鸡贼!)。
后续:钱已经退我了,但是我对 azure 的处理是不满意的,有两个我认为很严重的问题没有给出任何解释:
1. 只承认计价错误,没解释这个模型根本不存在,何来的单价?
2. 没解释这个费用为什么完全绕过了 cost management 和 budget?
next: https://t.me/laiskynotes/98
😱7
https://proxy-ipv4.com/en/isp/?country=ukraine
推荐一个代理站,可以非常廉价的买到世界各地的 IP,尤其这个 ISP Proxy 号称可以提供高可信的真实 IP。比如可以买一个 Ukraine IP 然后去买 Youtube Premium。
注:大陆境内到这些 proxy 不一定能直连,你可以挂个多级代理转发一下,出口走这个 proxy 就行。
推荐一个代理站,可以非常廉价的买到世界各地的 IP,尤其这个 ISP Proxy 号称可以提供高可信的真实 IP。比如可以买一个 Ukraine IP 然后去买 Youtube Premium。
注:大陆境内到这些 proxy 不一定能直连,你可以挂个多级代理转发一下,出口走这个 proxy 就行。
👍12
推荐一个我一直在使用的,利用 gpt 自动生成 git commit 信息的工具。
地址: https://github.com/zurawiki/gptcommit
安装方式:
激活方式: 进入本地 Git Repo 的文件夹,然后运行
配置方式: 编辑
使用方式:
上述配置中,我使用 one-api 作为转发,将 gpt-3.5-turbo-0301 的请求转发给了免费的 google gemini。
不过目前 one-api 的 gemini 转发是有 BUG 的,会导致 gptcommit 无法使用,我提交了一个 PR 修复这个问题 https://github.com/songquanpeng/one-api/pull/841
或者可以考虑使用我自己的 fork 的 docker 镜像:
地址: https://github.com/zurawiki/gptcommit
安装方式:
cargo install gptcommit激活方式: 进入本地 Git Repo 的文件夹,然后运行
gptcommit install配置方式: 编辑
~/.config/gptcommit/config.tomlmodel_provider = "openai"
allow_amend = false
file_ignore = [
"package-lock.json",
"yarn.lock",
"pnpm-lock.yaml",
"Cargo.lock",
]
[openai]
api_base = "https://oneapi.laisky.com/v1"
api_key = "xxxx"
#model = "gpt-3.5-turbo"
model = "gpt-3.5-turbo-0301" # alias for gemini-pro
retries = 2使用方式:
git add -u && git commit 即可上述配置中,我使用 one-api 作为转发,将 gpt-3.5-turbo-0301 的请求转发给了免费的 google gemini。
不过目前 one-api 的 gemini 转发是有 BUG 的,会导致 gptcommit 无法使用,我提交了一个 PR 修复这个问题 https://github.com/songquanpeng/one-api/pull/841
或者可以考虑使用我自己的 fork 的 docker 镜像:
ppcelery/one-api:latest🥰2
https://laisky.notion.site/How-it-works-The-novel-HTTP-2-Rapid-Reset-DDoS-attack-Google-Cloud-Blog-6e0b3c1840824c51a55f5ec0c65dcfe5?pvs=4
CVE-2023-39325 利用 HTTP/2 单 tcp conn 上可以承载任意数量 stream 的特性,结合 stream rapid reset 的特性,实现超高强度的 DDoS 攻击。攻击者可以忽略 RTT,直接把己方的带宽跑满。
相当于在 HTTP/2 上打出了 UDP flood attack 的效果。前几个月各个被打趴的站盛传的“来自应用层”的攻击,基本都是这个。HTTP/3 也得考虑做相应的预防措施。
Go 的修复方式是将每个连接的 MaxConcurrentStreams 数设置为 250,起到一些缓解的作用。 https://github.com/golang/go/issues/63417
CVE-2023-39325 利用 HTTP/2 单 tcp conn 上可以承载任意数量 stream 的特性,结合 stream rapid reset 的特性,实现超高强度的 DDoS 攻击。攻击者可以忽略 RTT,直接把己方的带宽跑满。
相当于在 HTTP/2 上打出了 UDP flood attack 的效果。前几个月各个被打趴的站盛传的“来自应用层”的攻击,基本都是这个。HTTP/3 也得考虑做相应的预防措施。
Go 的修复方式是将每个连接的 MaxConcurrentStreams 数设置为 250,起到一些缓解的作用。 https://github.com/golang/go/issues/63417
👍2
Laisky's Notes
各位使用 azure openai 的建议去查查自己的账单。我的上一期账单,azure 的实际扣费单价比公示价格高了 30 倍。我去开了 ticket 后同意给我退款。 而且这个多出来的费用不会显示在 cost management 里,而是仅仅存在于 invoice 里(很鸡贼!)。 后续:钱已经退我了,但是我对 azure 的处理是不满意的,有两个我认为很严重的问题没有给出任何解释: 1. 只承认计价错误,没解释这个模型根本不存在,何来的单价? 2. 没解释这个费用为什么完全绕过了 cost management…
关于和 Azure 沟通的一些后续,先记下来,日后也许可以写篇博客(根本没时间😭)。
1. cost management 确实不准,在 billing period 结束后的 5 天内都可能大幅调整
2. invoice 页面可以下载详单,里面会记录所有的计费细节
我是不太理解啊,如果 budget 可能比账单晚 5 天,那这个 budget 的意义是什么?
最后是一个我忍不住一定要吐槽的,Azure 理解的 Model Version 跟我的直觉完全不一样。同一个 Model 的不同 Version 其实可能是完全不同的 Model,费用也完全不一样。
比如我图片上这个 gpt-35-turbo,如果你选了 1106 这个版本,它其实就变成了 gpt-35-turbo-16k,价格会贵一倍。具体什么 version 是什么模型和费用,没有一个统一的文档,你只能去 azure 零星的发布稿对着目录一项项地仔细确认。千万别像我一样无脑选最新版,到时候怎么破产的都不知道,毕竟费用根本不会在 cost management 和 budget 上显示,突然月底就扣你信用卡了,哈哈哈哈。
next: https://t.me/laiskynotes/121
1. cost management 确实不准,在 billing period 结束后的 5 天内都可能大幅调整
2. invoice 页面可以下载详单,里面会记录所有的计费细节
我是不太理解啊,如果 budget 可能比账单晚 5 天,那这个 budget 的意义是什么?
最后是一个我忍不住一定要吐槽的,Azure 理解的 Model Version 跟我的直觉完全不一样。同一个 Model 的不同 Version 其实可能是完全不同的 Model,费用也完全不一样。
next: https://t.me/laiskynotes/121
👍1🤯1
https://laisky.notion.site/The-quantum-state-of-a-TCP-port-29b94af7bedf49beb958045c3c1dbc02
很有趣的关于 linux 上 TCP 本地端口自动分配的文章。
虽然理论上,TCP 连接只要求
这其中的逻辑错综复杂,以至于作者在文章标题中将其戏称为“量子态”。
结论:推荐使用
很有趣的关于 linux 上 TCP 本地端口自动分配的文章。
虽然理论上,TCP 连接只要求
(src_ip, src_port, dst_ip, dst_port) 的四元组不同,但实际情况复杂得多,即使使用了 SO_REUSEPORT 也不能保证本地端口一定能被复用,而且虽然 bind(2)/connect(2) 都支持自动分配本地端口,但对应的却是不同的处理逻辑。这其中的逻辑错综复杂,以至于作者在文章标题中将其戏称为“量子态”。
结论:推荐使用
IP_BIND_ADDRESS_NO_PORT & bind(2) 的方式绑定端口,可以最大化本地端口重用的概率。Laisky on Notion
The quantum state of a TCP port | Notion
Have you noticed how simple questions sometimes lead to complex answers? Today we will tackle one such question. Category: our favorite - Linux networking.
👍2
https://x.com/qq3qiyu/status/1737728033384206710?s=20
看到有人讨论 python requests 的 timeout 问题,简而言之就是发现 requests 的总耗时会超过你设置的 timeout。
其实原理很简单,requests 支持两种 timeout:
* connect timeout: 建立连接的超时时间
* read timeout: 服务端每次响应的超时时间
默认情况下,timeout 设置的是 connect timeout + read timeout,你也可以通过 tuple 的形式分别设置。
需要注意的是,requests 并不支持 total timeout,就是实际上你没法控制这个 requests 请求总共会花多长时间。举一个极端的例子,如果这个服务端总能在每隔 read timeout 内回复点数据,那么这个请求实际上可以耗费无穷长的时间。
requests 官方的解释是,市面上已经有其他控制 total timeout 的包了,requests 没必要再做一个。这个第三方包就是 https://github.com/pnpnpn/timeout-decorator ,它通过设置
如果你使用 asyncio,那么
注意:
看到有人讨论 python requests 的 timeout 问题,简而言之就是发现 requests 的总耗时会超过你设置的 timeout。
其实原理很简单,requests 支持两种 timeout:
* connect timeout: 建立连接的超时时间
* read timeout: 服务端每次响应的超时时间
默认情况下,timeout 设置的是 connect timeout + read timeout,你也可以通过 tuple 的形式分别设置。
需要注意的是,requests 并不支持 total timeout,就是实际上你没法控制这个 requests 请求总共会花多长时间。举一个极端的例子,如果这个服务端总能在每隔 read timeout 内回复点数据,那么这个请求实际上可以耗费无穷长的时间。
requests 官方的解释是,市面上已经有其他控制 total timeout 的包了,requests 没必要再做一个。这个第三方包就是 https://github.com/pnpnpn/timeout-decorator ,它通过设置
ITIMER_REAL 信号来实现对函数总耗时的控制。但是这个包仅支持主线程。如果你使用 asyncio,那么
asyncio.wait_for 可以很轻松地为 coroutine 设置总耗时。aiohttp 的 timeout 看上去也是 total timeout。注意:
asyncio.wait_for 只是停止等待,杀 coroutine 需要另外手动处理(task.cancel())。被杀的 coroutine 也需要经常通过 await asyncio.sleep(0) 检查自己有没有被杀。X (formerly Twitter)
qy (@qq3qiyu) on X
看到 @laixintao 大佬的这个推,回忆起一段不堪的 leetcode 宕机往事,结合这个推给大家分享一下。首先长了短说:这个timeout 可能会要了你的命
(1/n)
(1/n)
👍5
https://youtu.be/V3BafEiqSFg?si=M0sZ9F4tLA5cSzad
最近看了部关于欧美核聚变研究的纪录片,其中一位科学家声称,预计 2035 年可以商业化,2040 年可以全球化。掐指一算,正好我小孩 20 岁步入社会的时候,世界上已经有无限的能源供给了,亦或说,无限的算力。
顺带一提核裂变,越来越多的人认为核裂变发电站是人类走的一条歧路,人总是会犯错的,而裂变站的每一次事故所造成的代价都是无法承受的,法国核能安全研究院估算每一次核事故会造成 3000~15000 亿欧元的损失。而且核裂变发电站的核废料处理也是一个难题。日本福岛核事故对欧美的冲击也是巨大的,毕竟日本人在欧美人心目中一直是“匠人精神”的代表,如果连日本人都搞不定核裂变,那么人们也就很难再相信它了。
但是在聚变等次世代技术真正成熟以前,核裂变是唯一清洁的稳定发电源(地热能、水能也是清洁的稳定能源,但是需要地理条件)。这可能就是人类能源史上的一次阵痛吧。
最近看了部关于欧美核聚变研究的纪录片,其中一位科学家声称,预计 2035 年可以商业化,2040 年可以全球化。掐指一算,正好我小孩 20 岁步入社会的时候,世界上已经有无限的能源供给了,亦或说,无限的算力。
顺带一提核裂变,越来越多的人认为核裂变发电站是人类走的一条歧路,人总是会犯错的,而裂变站的每一次事故所造成的代价都是无法承受的,法国核能安全研究院估算每一次核事故会造成 3000~15000 亿欧元的损失。而且核裂变发电站的核废料处理也是一个难题。日本福岛核事故对欧美的冲击也是巨大的,毕竟日本人在欧美人心目中一直是“匠人精神”的代表,如果连日本人都搞不定核裂变,那么人们也就很难再相信它了。
但是在聚变等次世代技术真正成熟以前,核裂变是唯一清洁的稳定发电源(地热能、水能也是清洁的稳定能源,但是需要地理条件)。这可能就是人类能源史上的一次阵痛吧。
YouTube
Fusion power: how close are we? | FT Film
For the first time, US scientists have achieved a fusion reaction with net energy gain. But the dream of limitless zero-carbon energy is still a long way from reality. The FT's Simon Mundy meets scientists and investors in the UK, France and US, to see how…
❤2
https://laisky.notion.site/Metrics-for-Information-Retrieval-and-Question-Answering-Pipelines-d5d4e3beb820419ca494596e319befcf
一个笔记,用于度量 LLM RAG Retriever 性能的常用指标。包括 HR, Recall, Precision, MRR, mAP, NDCG, EM, F1 Score, SAS。
Ps. Retriever 也有寻回犬的意思,负责叼回猎物,在 RAG 里则是负责找回有用的附加信息。
一个笔记,用于度量 LLM RAG Retriever 性能的常用指标。包括 HR, Recall, Precision, MRR, mAP, NDCG, EM, F1 Score, SAS。
Ps. Retriever 也有寻回犬的意思,负责叼回猎物,在 RAG 里则是负责找回有用的附加信息。
Laisky on Notion
Metrics for Information Retrieval and Question Answering Pipelines | Notion
👉 For Information Retrieval Pipelines:
❤2
Retrieval_Augmented_Generation_for_Large_Language_Models_A_Survey.pdf
5.7 MB
最近几天都在读这篇论文,关于 LLM RAG 方法的综述。总结了 RAG 技术的发展脉络和应用、评估方法。此文的优点在于非常全面,从预训练、fine-tuning 到 inference 的 RAG 流程都探讨到了。
附件的 pdf 里我对比较重要的信息做了标注和笔记,改天有空水篇博客整理一下🐦。
整理了一个 slide: https://s3.laisky.com/public/slides/LLM-RAG.slides.html#/
附件的 pdf 里我对比较重要的信息做了标注和笔记,改天有空水篇博客整理一下🐦。
整理了一个 slide: https://s3.laisky.com/public/slides/LLM-RAG.slides.html#/
❤5