<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Mickir的魔法笔记</title>
    <link>https://mickir.me</link>
    <description>每一个魔法师都要有一本魔法笔记!</description>
    
      <item>
        <title>北京博物馆通票——西藏文化博物馆+奥运博物馆</title>
        <link>https://mickir.me/blog/museum-07.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-07.html</guid>
        <pubDate>Mon, 15 Jul 2024 21:29:18 +0800</pubDate>
        <description>&lt;h2 id=&quot;西藏文化博物馆&quot;&gt;西藏文化博物馆&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/66952313196e7.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715210937372&quot; /&gt;&lt;br /&gt;
在四环路上，距离还挺近的。也是免费的博物馆，但是进去强制存包，也没看到想要看到的比较猎奇的内容，感觉不太值得。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/66952314d0dd1.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211053234&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/66952316cd494.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211124760&quot; /&gt;&lt;br /&gt;
蜡像太真了，让人吓一跳。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695231828eac.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211158324&quot; /&gt;&lt;br /&gt;
有风格的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695231f30414.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211256778&quot; /&gt;&lt;br /&gt;
好涩&lt;/p&gt;

&lt;p&gt;活佛转世要中央批准，还能找到的转世灵童中央不认，重新转世的说法。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695232847f4a.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211439229&quot; /&gt;&lt;br /&gt;
还真会考验转世正确与否的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695232a381fc.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211527275&quot; /&gt;&lt;br /&gt;
馆里还有另一个展来着，这书法还有点意思。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695232b88c8f.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211614409&quot; /&gt;&lt;br /&gt;
和我想看的东西沾点边的，以前藏传佛教还是呃呃啊。&lt;/p&gt;

&lt;h2 id=&quot;奥运博物馆&quot;&gt;奥运博物馆&lt;/h2&gt;
&lt;p&gt;撞上五月天演唱会了，但是还好虽然鸟巢入场那边查得严，这边博物馆还是能进的。还有一群老外旅行团来看。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695233477c9d.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715211819478&quot; /&gt;&lt;/p&gt;

&lt;p&gt;逛完发现我走反了，应该从左边开始绕，我直接右拐了。结果就是完全倒序看展了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/6695233655029.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715212047804&quot; /&gt;&lt;br /&gt;
很多体感游戏，体验器材啥的，遛娃好去处。我也想玩，没好意思跟小朋友们抢&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/15/66952337b6471.webp&quot; alt=&quot;2024-06-01-西藏文化博物馆和奥运博物馆-20240715212212992&quot; /&gt;&lt;br /&gt;
奥运奖牌。&lt;/p&gt;

&lt;p&gt;回来才发现照片没拍几张。其实还不错的，尤其还有游戏玩。&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>北京博物馆通票——紫檀博物馆、科举匾额博物馆</title>
        <link>https://mickir.me/blog/museum-06.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-06.html</guid>
        <pubDate>Thu, 11 Jul 2024 22:21:15 +0800</pubDate>
        <description>&lt;p&gt;下雨天。跟着公司团建到了通惠河边，在这儿转了俩博物馆。&lt;/p&gt;

&lt;h2 id=&quot;紫檀博物馆&quot;&gt;紫檀博物馆&lt;/h2&gt;
&lt;p&gt;博物馆门票价 50 块（也可能涨价了，60 了？）通票可以免票一次。&lt;/p&gt;

&lt;p&gt;整个博物馆都是馆长陈丽华的私产，之后百度了下，感觉不好评。她是满族正黄旗人。馆里还有一个巨大的陈列各种捐赠证书等等东西的区域。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe77226088.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528221321699&quot; /&gt;&lt;/p&gt;

&lt;p&gt;博物馆里有包括紫檀、黄花梨、乌木等等各种木制家具、雕刻艺术品。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe77534195.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220155130&quot; /&gt;&lt;br /&gt;
金柜&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7772c9ae.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220219585&quot; /&gt;&lt;br /&gt;
皇位，二楼还有复刻的养心殿。&lt;/p&gt;

&lt;p&gt;最近她做了一个用紫檀等木材复刻老北京旧城门的计划，貌似已经完成了。结合百度百科她发家路上就从北京拆迁开始的，emmm，很难评。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7795a0ee.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220449944&quot; /&gt;&lt;br /&gt;
天安门&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe77c26079.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220508892&quot; /&gt;&lt;br /&gt;
她还是肖像爱好者，馆里墙上到处挂着她的肖像，基本都是别人送的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe77dce70d.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220556802&quot; /&gt;&lt;br /&gt;
有宫崎骏《你想活出怎样的人生》里那只鸟的神韵。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe782e050e.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220652330&quot; /&gt;&lt;br /&gt;
这几进的屋子&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe78b0a53b.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528220805219&quot; /&gt;&lt;br /&gt;
巨型西游记根雕作品，内容丰富，值得仔细看。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe78f4c590.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528221021054&quot; /&gt;&lt;br /&gt;
这是？&lt;/p&gt;

&lt;p&gt;馆里还有各种巨构，清明上河图复刻到很多个木画屏上，巨大的城门、四合院，天坛祈年殿啥的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe79b05490.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528221215725&quot; /&gt;&lt;br /&gt;
她后来老公是迟重瑞。这儿有个悟空。&lt;/p&gt;

&lt;p&gt;小结：东西还是好的&lt;/p&gt;

&lt;h2 id=&quot;北京励志堂科举匾额博物馆&quot;&gt;北京励志堂科举匾额博物馆&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe79d1fcdd.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528223211355&quot; /&gt;&lt;/p&gt;

&lt;p&gt;门口躺着块碑&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7b011f8a.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528221832303&quot; /&gt;&lt;/p&gt;

&lt;p&gt;票价 40，通票也免票一次。正门进去有个感应门铃，甚至没有专人售票啥的。过来的是个讲解员，给热情讲了几分钟，突然说他是收费的，只好自己看了。听他讲了两个东西，一个是院子里有个李莲英的碑，据说很少见；一个是金朝科举门，一般都叫“龙门”、“禹门”，金朝人就叫科举门，结果这成了稀有文物。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7b1d12c6.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528222802545&quot; /&gt;&lt;/p&gt;

&lt;p&gt;馆里东西确实不少，各种各样的匾额排排放着，也没啥保护措施，感觉可能来的人也不多吧。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7bbee6d8.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528223036450&quot; /&gt;&lt;br /&gt;
贡院，里头考生住的地方很小，一平米多一点。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7bd381e6.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528223130747&quot; /&gt;&lt;br /&gt;
貌似这儿还上课&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7c9607a9.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528223245868&quot; /&gt;&lt;br /&gt;
小学生（没考中）水平的八股文？就是废话文学。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/07/11/668fe7cd1c4cb.webp&quot; alt=&quot;2024-05-25-紫檀博物馆和科举匾额博物馆-20240528223417486&quot; /&gt;&lt;br /&gt;
比较喜欢的一块匾&lt;/p&gt;

&lt;p&gt;小结：东西很多，到处是各种匾额，但是吸引人的东西不多。展出的水平也不太行。&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>北京博物馆通票——园林博物馆</title>
        <link>https://mickir.me/blog/museum-05.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-05.html</guid>
        <pubDate>Thu, 20 Jun 2024 23:47:05 +0800</pubDate>
        <description>&lt;h2 id=&quot;园林博物馆&quot;&gt;园林博物馆&lt;/h2&gt;
&lt;p&gt;好远，实际上是园博园扣了一块建的博物馆。直接现场预约或者带身份证就能进，免费的。人没有很多，但是旁边的园博园停车都是个大问题。&lt;br /&gt;
博物馆分室内和室外部分，室内部分主要是园林的历史发展、北京的园林、外国园林介绍，还有复刻的苏州畅园、广州余荫山房、扬州片石山房。&lt;br /&gt;
室内部分乏善可陈，就是锅碗瓢盆和各种瓦当、石砖、山水园林画，还很多复制品、仿制品。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/661167766bbf4.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406230527047&quot; /&gt;&lt;br /&gt;
秦代一块铭文砖写的“海内皆臣，岁登成熟，道毋饥人”，汉代的铭文砖就写“海内皆臣，岁登成熟，道毋饥人，践此万岁”，果然汉承秦制啊！&lt;br /&gt;
还展了一桌石头的盛宴&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/66116777c52c2.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406230840876&quot; /&gt;&lt;br /&gt;
复刻的南方园林都在室内，罩着玻璃，但是各种树木竹子还是状态不好，各种黄叶，可能刚过冬的影响？&lt;br /&gt;
余荫山房&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/661167793af3c.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406231046770&quot; /&gt;&lt;br /&gt;
鸟瞰畅园&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/6611677ab8e31.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406231115318&quot; /&gt;&lt;br /&gt;
花和假山&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/6611677c2f04c.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406231149507&quot; /&gt;&lt;br /&gt;
室内部分虽然差点意思，室外还是很棒的，毕竟是春天嘛！很多花开着，珊珊可爱。&lt;br /&gt;
一棵开花的树&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/6611677dcad6b.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406231301616&quot; /&gt;&lt;br /&gt;
贴梗海棠&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/06/6611677f3aa69.webp&quot; alt=&quot;2024-04-05-园林博物馆约会-20240406231347396&quot; /&gt;&lt;br /&gt;
后面还有个小山，山顶有棵樱花树，可惜樱花都谢了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;小结&lt;/strong&gt;：春天来还不错，园博园逛完了可以来园林博物馆啊~海棠确实好看，路上看到颜色高级的花，几乎就是海棠。&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>博物馆通票地图</title>
        <link>https://mickir.me/blog/museum-00.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-00.html</guid>
        <pubDate>Mon, 17 Jun 2024 13:33:02 +0800</pubDate>
        <description>&lt;iframe src=&quot;https://www.google.com/maps/d/embed?mid=14MSeurvRGJXtiyzmgLbrhxMWkZNYZI8&amp;amp;hl=zh-CN&amp;amp;ehbc=2E312F&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/iframe&gt;

</description>
      </item>
    
      <item>
        <title>北京博物馆通票——工艺美术博物馆（非物质文化遗产馆）、国家动物博物馆</title>
        <link>https://mickir.me/blog/museum-04.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-04.html</guid>
        <pubDate>Thu, 13 Jun 2024 22:42:25 +0800</pubDate>
        <description>&lt;h2 id=&quot;中国工艺美术馆非物质文化遗产馆&quot;&gt;中国工艺美术馆——非物质文化遗产馆&lt;/h2&gt;
&lt;p&gt;在奥森东面，和党史展览馆共享同一个大广场（但是全被那边占了），也是直接现场预约现场进，刷身份证或者刷码就行。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0532ec15b.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240406232600389&quot; /&gt;&lt;/p&gt;

&lt;p&gt;基本都是现代工艺品，现代非物质文化遗产工艺品。就感觉里面礼品店卖的东西和展出的东西差不太多。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b05346bf80.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223000905&quot; /&gt;&lt;/p&gt;

&lt;p&gt;奥特曼&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0535a75bf.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223021550&quot; /&gt;&lt;/p&gt;

&lt;p&gt;玉雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053751807.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223108510&quot; /&gt;&lt;/p&gt;

&lt;p&gt;水晶菩萨&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0538dc9d9.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223140495&quot; /&gt;&lt;/p&gt;

&lt;p&gt;牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053a34ccb.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223207011&quot; /&gt;&lt;/p&gt;

&lt;p&gt;牙雕和骨雕的区别是，牙雕可以有很细的细丝，骨雕、木雕等等就做不出来。&lt;/p&gt;

&lt;p&gt;瓷器&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053b84203.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223313921&quot; /&gt;&lt;/p&gt;

&lt;p&gt;石雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053cddedc.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223345153&quot; /&gt;&lt;/p&gt;

&lt;p&gt;独山玉雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053e580ab.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223410175&quot; /&gt;&lt;/p&gt;

&lt;p&gt;衣服&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b053fecb18.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223445000&quot; /&gt;&lt;/p&gt;

&lt;p&gt;国潮进口棒棒糖…&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b05413a4a8.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223517722&quot; /&gt;&lt;/p&gt;

&lt;p&gt;小结：展馆很大，很多层，但是好几层都完全不开或者没啥东西。都是现代工艺品。&lt;/p&gt;

&lt;h2 id=&quot;国家动物博物馆&quot;&gt;国家动物博物馆&lt;/h2&gt;
&lt;p&gt;免票一次。里面非常非常多动物标本，各种哺乳动物摆了一大片，各种鸟类摆了好几墙，各种蝴蝶、蛾子、甲虫摆了好几墙。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0542c8135.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613224040863&quot; /&gt;&lt;/p&gt;

&lt;p&gt;猫科&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b05441a749.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223746091&quot; /&gt;&lt;/p&gt;

&lt;p&gt;犬科&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0545526fe.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223931297&quot; /&gt;&lt;/p&gt;

&lt;p&gt;鹿们&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0546a0a2d.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223806725&quot; /&gt;&lt;/p&gt;

&lt;p&gt;鸟们，这样的好几面墙。鸦科、鸡鸭鹅雁对比起来都好大。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b0547e772e.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223828416&quot; /&gt;&lt;/p&gt;

&lt;p&gt;蝴蝶&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b054932dc4.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613223958090&quot; /&gt;&lt;/p&gt;

&lt;p&gt;天牛&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/06/13/666b054a9a5c4.webp&quot; alt=&quot;2024-04-04-奥森半日游-20240613224026808&quot; /&gt;&lt;/p&gt;

&lt;p&gt;小结：建议现场看。对爱好者来说应该大饱眼福。感觉我走马观花地看有点暴殄天物了。&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>北京博物馆通票——北京工艺美术博物馆</title>
        <link>https://mickir.me/blog/museum-03.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-03.html</guid>
        <pubDate>Tue, 04 Jun 2024 23:03:49 +0800</pubDate>
        <description>&lt;h2 id=&quot;北京工艺美术博物馆&quot;&gt;北京工艺美术博物馆&lt;/h2&gt;
&lt;p&gt;在新奥购物中心对面，拿着年卡获得了儿童票的折扣，￥59。送了个手工小礼包，给小孩用的。&lt;/p&gt;

&lt;p&gt;在展的是北京的各种工艺，玉雕、牙雕、景泰蓝、雕漆。&lt;br /&gt;
牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b81e2a58.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402233742601&quot; /&gt;&lt;br /&gt;
玉雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b836c03a.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402233811285&quot; /&gt;&lt;br /&gt;
很有匠心的济公&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b84f0de4.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402233913071&quot; /&gt;&lt;br /&gt;
雕漆&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b866b342.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234009973&quot; /&gt;&lt;br /&gt;
蝈蝈&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b87b4512.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234110967&quot; /&gt;&lt;br /&gt;
超大的旧北京和新北京，非常值得细看&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b8901753.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234301238&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b8a3af6a.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234242402&quot; /&gt;&lt;br /&gt;
教员&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b8c0c594.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234338769&quot; /&gt;&lt;br /&gt;
大鼎&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b919d2b9.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234422297&quot; /&gt;&lt;br /&gt;
超巨大牙雕，《九州欢腾》&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b93150ab.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234529592&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b94851c4.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234543092&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/04/03/660c2b9649bfc.webp&quot; alt=&quot;2024-03-31-比较现充的一天-20240402234557053&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;小结&lt;/strong&gt;：看到这么多牙雕感觉值回票价了。还有很多雕漆、景泰蓝、玉雕以及金属花丝镶嵌的首饰啥的。仔细看的话不是很亏。（感兴趣的同学可以报考北京工艺美术高级技工学校😄，上面那个《九州欢腾》就是现代做的。）另外，博物馆空间虽然不大，人更少。全程只有一对母女在手工区域做手工。整个博物馆几乎就是我独享的，这个感觉很好。&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>北京博物馆通票——古观象台、海关博物馆</title>
        <link>https://mickir.me/blog/museum-02.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-02.html</guid>
        <pubDate>Fri, 31 May 2024 00:12:24 +0800</pubDate>
        <description>&lt;h2 id=&quot;北京古观象台&quot;&gt;北京古观象台&lt;/h2&gt;
&lt;p&gt;建国门立交桥西南，明朝开建的，原来是个城墙角楼。&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097eff7ef83.png&quot; alt=&quot;Pasted image 20240331114924&quot; /&gt;&lt;br /&gt;
一些仪器&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f01685d9.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331120033232&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0285576.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331120121249&quot; /&gt;&lt;/p&gt;

&lt;p&gt;就是一些兼具美感和实用性的仪器吧，包括什么赤道经纬仪、黄道经纬仪、玑衡抚辰仪、地平纬仪、地平经仪、天体仪等等。可惜不能实操一下，体会一下具体原理。&lt;br /&gt;
下面院子里还有别的仪器，要不就是日晷、圭表这种一眼能看明白的，要不就是浑天仪、简仪这种看不太明白的。&lt;br /&gt;
楼下紫薇殿里也有些展览。原来很久以前的古人就能看到太阳黑子了，怀疑所谓的金乌，实际上就是人们对太阳黑子的一种想象。还有水运仪象台的模型，北宋发明的三层楼高的齿轮传动结构，看着模型还是挺震撼的。&lt;br /&gt;
水运仪象台模型&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f050e59d.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331214626100&quot; /&gt;&lt;br /&gt;
蹭了下给小学生讲解圭表日晷的讲解。&lt;/p&gt;

&lt;h2 id=&quot;中国海关博物馆&quot;&gt;中国海关博物馆&lt;/h2&gt;
&lt;p&gt;从观象台出来拐个弯就到了，很近。&lt;br /&gt;
逛之前没啥太大期待的，逛之后只能说非常超值，非常值得一去！&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f065db2c.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331214708068&quot; /&gt;&lt;br /&gt;
刷身份证免票，但是没带身份证也可以旁边登记个姓名就能进（是的，只登记姓名）。开头是各种博物馆惯例的历史介绍，从春秋战国时期的通关凭证开始，第一次见到了字不好看的古代资料。不过这都不关键，海关的历史好像没啥有趣的地方，还是海关的现在更有趣。其中让人不虚此行的，有海关缉私查出来的各种走私品、各国赠送给海关的礼物和&lt;strong&gt;海关 902&lt;/strong&gt;艇！&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f079f52a.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331215758405&quot; /&gt;&lt;/p&gt;

&lt;p&gt;早就在应用的夹带技术&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f08d7141.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331220345040&quot; /&gt;&lt;br /&gt;
海关查获的的孔子鸟化石&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0a331cb.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331220619841&quot; /&gt;&lt;br /&gt;
查获的危险植物（才知道有假高粱等等植物存在）&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0b9b54f.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331220722072&quot; /&gt;&lt;br /&gt;
中华枯叶蝶&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0ce1762.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331221838891&quot; /&gt;&lt;br /&gt;
各种动物标本&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0e57821.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331224743165&quot; /&gt;&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f0e57821.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331224743165&quot; /&gt;&lt;br /&gt;
以及牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f115160b.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331224812631&quot; /&gt;&lt;br /&gt;
巨大的牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f129ee5f.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331224840573&quot; /&gt;&lt;/p&gt;

&lt;p&gt;精细的牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f1442b7b.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331224910406&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f160d8d3.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225012107&quot; /&gt;&lt;br /&gt;
彩色的牙雕&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f178f164.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225043181&quot; /&gt;&lt;br /&gt;
皮草&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f18e6d19.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225116273&quot; /&gt;&lt;br /&gt;
熊皮&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f1a42e21.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225135501&quot; /&gt;&lt;br /&gt;
雪豹&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f1bb0063.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225157667&quot; /&gt;&lt;br /&gt;
等等&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f1d4c8c9.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225216151&quot; /&gt;&lt;br /&gt;
虎皮&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f1ec5768.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225233339&quot; /&gt;&lt;br /&gt;
文物&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f2030a77.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225254397&quot; /&gt;&lt;br /&gt;
海关战士的离婚信，“最后，祝你幸福。…是真心的”&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f21bd825.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225405765&quot; /&gt;&lt;br /&gt;
各国送给海关的礼物（选了两个好看的）&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f2339338.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225516135&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f24d5822.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225557215&quot; /&gt;&lt;br /&gt;
出博物馆右拐就是海关 902 艇的展厅&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;服役 20 年来，“海关 902”艇先后查获 1000 多起海上走私案件，总案值达 3.5 亿元，是一艘战功卓著的“英雄艇”；它先后接送邓小平、江泽民、杨尚昆、万里、习仲勋、李鹏、乔石等党和国家领导人 45 次，为党中央、国务院领导同志视察特区工作、指导改革开放，作出独有的贡献，是一艘荣誉等身的“光荣艇”；1992 年 1 月 23 日，邓小平同志乘坐该艇从深圳前往珠海，在 45 分钟的航程中发表了著名的南方谈话的一部分，为改革开放指明了前进的方向，该艇因而铸入了中华民族伟大复兴的光辉史诗，成为见证历史的“功勋艇”。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f2648e9b.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225719018&quot; /&gt;&lt;br /&gt;
下面全是水，里面湿度很大。这个艇还能上去&lt;br /&gt;
餐厅&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f279a0ad.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225911716&quot; /&gt;&lt;br /&gt;
船屁股&lt;br /&gt;
&lt;img src=&quot;https://bu.dusays.com/2024/03/31/66097f2904362.webp&quot; alt=&quot;2024-03-30-现充的一天-20240331225932254&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;小结&lt;/strong&gt; 非常值得一去的博物馆，而且还免费，看起来不用预约。在里面逛的时候，还有一些小学生在讲解~&lt;/p&gt;
</description>
      </item>
    
      <item>
        <title>北京博物馆通票——石刻艺术博物馆</title>
        <link>https://mickir.me/blog/museum-01.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/museum-01.html</guid>
        <pubDate>Mon, 27 May 2024 00:07:58 +0800</pubDate>
        <description>&lt;p&gt;作为本格宅男，2023 年除了公司团建，周末节假日几乎没出过门，一般周末两天时间手环不超过一百步。所以前些日子买了一本《北京博物馆通票》，希望可以靠“不去看就亏了”的心理督促我自己在周末多出门看看，呼吸下新鲜空气。&lt;/p&gt;

&lt;p&gt;基本去哪看啥都是心血来潮，也没提前做啥作业。反正免票额度一般都是俩人的，我又单身，碰到喜欢的可以后面再去一趟&lt;/p&gt;
&lt;h2 id=&quot;北京石刻艺术博物馆五塔寺&quot;&gt;北京石刻艺术博物馆（五塔寺）&lt;/h2&gt;
&lt;p&gt;24 年 3 月 3 号来的。中间路过了一个看起来像胡同的胡同——大慧寺南路，应该是没开发成景区也没拆迁的胡同？&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFB8zVK.jpg&quot; alt=&quot;胡同？&quot; /&gt;&lt;/p&gt;

&lt;p&gt;正门&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBN4tf.png&quot; alt=&quot;正门&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这个博物馆原来是真定寺，清朝的时候避讳雍正&lt;strong&gt;胤禛&lt;/strong&gt;改成了正定寺，因为现在里头属于寺的东西只剩下个金刚宝座了，这宝座有五个尖，所以现在又叫五塔寺。位置在北京动物园西北角。&lt;/p&gt;

&lt;p&gt;门票 20 块，通票免费。&lt;br /&gt;
主要看点就是那个金刚宝座，宝座可以进，里面正对着是释迦摩尼，东边是药师佛，西边是燃灯佛，但是燃灯早就丢了，现在摆的是十世班禅捐赠的。（回来查了一下又不太对，说是里面有 4 个佛，难道我少看了一个佛？少看了个阿弥陀佛？）&lt;br /&gt;
其他的石刻啥的都是别的地方搬过来的，有别人墓碑搬过来的，有各种敕建重修的碑记搬过来的，还有坟里用的各种石刻搬过来的；有一些书法碑文，看到有人在拍照，应该是书法爱好者吧？&lt;br /&gt;
另外的看点是这里很多高龄银杏树，秋天来应该很好看，现在来就全是光秃秃的。感觉全绿色的时候是最俗的；现在这样光秃秃的再加上有乌鸦在飞，有乌鸦在叫，也别有一番风味。&lt;/p&gt;

&lt;p&gt;金刚宝座（近处是银杏树&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBUlDA.png&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBUlDA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;超过 600 年的银杏树&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBUtC8.png&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBUtC8.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;有猫&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBURv4.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBURv4.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBU22F.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBU22F.jpg&quot; /&gt;&lt;br /&gt;
不怕人的，开撸（照片拍出来有点秃头&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBUfKJ.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBUfKJ.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;一些藏品&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBUhr9.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBUhr9.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBUg8U.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBUg8U.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBJkYF.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBJkYF.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBJAW4.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBJAW4.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBJFFU.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBJFFU.jpg&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://s11.ax1x.com/2024/03/03/pFBJZl9.jpg&quot; alt=&quot;https://s11.ax1x.com/2024/03/03/pFBJZl9.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;总结：秋天来可能更好看。&lt;/p&gt;

</description>
      </item>
    
      <item>
        <title>大模型的不本质学习笔记</title>
        <link>https://mickir.me/blog/llama-learning.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/llama-learning.html</guid>
        <pubDate>Fri, 12 Apr 2024 18:39:19 +0800</pubDate>
        <description>&lt;p&gt;只看了 llama2，想来别的模型也差不太多。&lt;br /&gt;
所谓不本质学习，其实就是只关注具体计算，不去研究啥原理之类的本质问题；大概目标是看完了能用喜欢的语言实现一个自己的 &lt;a href=&quot;https://github.com/ggerganov/llama.cpp&quot;&gt;llama.cpp&lt;/a&gt;。&lt;br /&gt;
Transformer 的 &lt;a href=&quot;https://jiajiewu.gitee.io/post/tech/attention/att_intro/&quot;&gt;参考 blog&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;整体原理&quot;&gt;整体原理&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;模型的功能&lt;/strong&gt;是输入一句话转换成的 $n$ 个 token 数组 $t_0, t_1, …, t_{n-1}$，输出预测的 $n$ 个 token $t_1,t_2,…,t_n$。模型的一个特点是它有记忆，所谓记忆即通过缓存部分中间输出，后续模型运行就不需要重复输入了——即预测好 $n$ 个 token 后，可以在模型里输入新得到的 $t_n$，输出 $t_{n+1}$。&lt;br /&gt;
因此实际计算分成两步，第一步姑且叫 &lt;em&gt;fill&lt;/em&gt;，第二步叫 &lt;em&gt;generate&lt;/em&gt;，实际是同一个模型。在 &lt;em&gt;fill&lt;/em&gt; 的时候，输入是 prompt 包括用户输入的 $n$ 个 token，得到第 $n+1$ 个 token $t_{n}$，并把相关记忆缓存住。在 &lt;em&gt;generate&lt;/em&gt; 的时候，就是一个自回归的操作，输入之前得到的 token $t_n$，输出新的预测 $t_{n+1}$。这样就能不断输出新的 token，就像模型在说话一样，直到输出代表结束的 token。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;fill&lt;/em&gt; 的时候&lt;br /&gt;
\(t_1, t_2,...,t_n = predict(t_0, t_1, ..., t_{n-1})\)&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;generate&lt;/em&gt; 的时候&lt;br /&gt;
\(t_{n+1}=predict(t_n)\)&lt;br /&gt;
其实有了 &lt;em&gt;generate&lt;/em&gt; 的递推了，第一步 &lt;em&gt;fill&lt;/em&gt; 是可有可无的；但是 &lt;em&gt;fill&lt;/em&gt; 的计算访存比更高，可以更充分利用算力，所以要有 &lt;em&gt;fill&lt;/em&gt; 这步。&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote class=&quot;notice&quot;&gt;
  &lt;p&gt;token: 单词转换成的无符号数表示&lt;br /&gt;
prompt: 提示词，包括系统 prompt 和用户给的 prompt&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;配置参数&quot;&gt;配置参数&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;参数&lt;/th&gt;
      &lt;th&gt;示例值&lt;/th&gt;
      &lt;th&gt;config.json&lt;/th&gt;
      &lt;th&gt;含义&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;$d$&lt;/td&gt;
      &lt;td&gt;4096&lt;/td&gt;
      &lt;td&gt;hidden_size&lt;/td&gt;
      &lt;td&gt;隐含层维数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$H$&lt;/td&gt;
      &lt;td&gt;11008&lt;/td&gt;
      &lt;td&gt;intermediate_size&lt;/td&gt;
      &lt;td&gt;FFN 中间层维数，具体是 $d\times\frac83$ 对齐到 128&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$h$&lt;/td&gt;
      &lt;td&gt;32&lt;/td&gt;
      &lt;td&gt;num_attention_heads&lt;/td&gt;
      &lt;td&gt;多头注意力的头数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$l$&lt;/td&gt;
      &lt;td&gt;32&lt;/td&gt;
      &lt;td&gt;num_hidden_layers&lt;/td&gt;
      &lt;td&gt;隐含层层数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$h_{kv}$&lt;/td&gt;
      &lt;td&gt;32&lt;/td&gt;
      &lt;td&gt;num_key_value_heads&lt;/td&gt;
      &lt;td&gt;多头注意力 KV 的头数（GHA 的时候与 $h$ 不同）&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$V$&lt;/td&gt;
      &lt;td&gt;32000&lt;/td&gt;
      &lt;td&gt;vocab_size&lt;/td&gt;
      &lt;td&gt;词表长度&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;每个隐含层的参数量大约是 $4\frac{h_{kv}}{h}d^2+3Hd+2d$，输入输出的 token embed 矩阵大小都是 $Vd$。所以一个大模型整体的参数量大概是 $(4\frac{h_{kv}}{h}d^2+3Hd+2d)l+2Vd$。&lt;/p&gt;

&lt;h2 id=&quot;具体计算&quot;&gt;具体计算&lt;/h2&gt;
&lt;p&gt;输入是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;N&lt;/code&gt; 个 token。&lt;/p&gt;

&lt;h3 id=&quot;tokenizer&quot;&gt;tokenizer&lt;/h3&gt;
&lt;p&gt;分词，从大小是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(V, d)&lt;/code&gt; 的 embeding 矩阵里 gather 对应的词向量表示，得到的结果形状是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(N, d)&lt;/code&gt;。&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;graph TD
input[&quot;input: &apos;Today is &apos;&quot;]--&amp;gt;|&quot;Tokenizer&quot;| t[&quot;[0, 123, 345]&quot;]
t --&amp;gt;|&quot;Gather&quot;| output[&quot;hidden_state[N, d]&quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;layer&quot;&gt;layer&lt;/h3&gt;
&lt;p&gt;就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Transformer&lt;/code&gt; 里的一个 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DecoderLayer&lt;/code&gt;。具体组成是两部分，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SelfAttention&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FFN&lt;/code&gt;（FeedFrowardNetwork，也叫 MLP）。&lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SelfAttention&lt;/code&gt; 的操作就是经典的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Attention is all you need&lt;/code&gt; :&lt;/p&gt;

\[Attention(\mathbf{Q,K,V})=Softmax(\frac{\mathbf{QK}^T}{\sqrt{d_k}})\mathbf{V}\]

&lt;p&gt;这里 $d_k=\frac{d}{h}$ 是多头注意力里一个头的隐含层维数。&lt;br /&gt;
输入先做 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RMSNorm&lt;/code&gt;，然后经过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linear&lt;/code&gt; （实际就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FC&lt;/code&gt;）生成 $\mathbf{QKV}$ 。其中 $\mathbf{KV}$ 需要做相对位置编码(RoPE)，$\mathbf{QK}^T$ 的结果还要加上一个掩码，以表示输入 $N$ 个 token 是有先后顺序的。结果再做一次 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linear&lt;/code&gt;，与输入相加（残差块），就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SelfAttention&lt;/code&gt; 的全部操作了。&lt;/p&gt;

\[\mathbf{X}=RMSNorm(\mathbf{X}_{in})\]

\[\mathbf{Q}_i=XW_{Qi}\quad W_{Qi}\in\mathbb{R}^{d\times d_k}\]

\[\mathbf{K}_i=XW_{Ki}\quad W_{Ki}\in\mathbb{R}^{d\times d_k}\]

\[\mathbf{V}_i=XW_{Vi}\quad W_{Vi}\in\mathbb{R}^{d\times d_k}\]

\[\mathbf{O}_i=Softmax(\operatorname{MASK}(\frac{\mathbf{Q}\operatorname{RoPE}(\mathbf{K}^T)}{\sqrt{d_k}})\operatorname{RoPE}(\mathbf{V})\]

\[\mathbf{O}=concat(\mathbf{O}_i)\quad \mathbf{O}\in\mathbb{R}^{N\times d}\]

\[res=\mathbf{X}_{in}+\operatorname{concat}(\mathbf{O}_i)W_O\]

&lt;p&gt;整体计算流图如下&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;graph TD
in[&quot;hidden_state[N, d]&quot;] --&amp;gt;|&quot;RMSNorm&quot;| n[&quot;hidden_state[N, d]&quot;]
n --&amp;gt;|fc, dxd| Q[&quot;Q[h, N, d_k]&quot;]
n --&amp;gt;|fc, dxd| K[&quot;K[h, N, d_k]&quot;]
n --&amp;gt;|fc, dxd| V[&quot;V[h, N, d_k]&quot;]
Q --&amp;gt; a[&quot;Multi Head Attention&quot;]
K --&amp;gt; a
V --&amp;gt; a
a --&amp;gt; b[&quot;[N, d]&quot;]
b --&amp;gt;|fc, dxd| o[&quot;O[N, d]&quot;]
in --&amp;gt; add[&quot;Add&quot;]
o --&amp;gt; add
add --&amp;gt; res[&quot;hidden_state[N, d]&quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;多头注意力中的一个头的计算流图是&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;graph TD
K[&quot;K[N, d_k]&quot;] --&amp;gt;|RoPE| Kr[&quot;K[N, d_k]&quot;]
Kr --&amp;gt;|KCache| Krc[&quot;K[N&apos;, d_k]&quot;]
Q[&quot;Q[N, d_k]&quot;] --&amp;gt;|RoPE| Qr[&quot;Q[N, d_k]&quot;]
Qr --&amp;gt; MatMul
Krc --&amp;gt; MatMul
MatMul --&amp;gt; QK[&quot;QK[N, N&apos;]&quot;]
QK --&amp;gt;|MASK| QK_mask[&quot;QK[N, N&apos;]&quot;]
QK_mask --&amp;gt;|Softmax| QK_soft[&quot;QK[N, N&apos;]&quot;]
QK_soft --&amp;gt; matmul1[&quot;MatMul&quot;]
V[&quot;V[N, d_k]&quot;] --&amp;gt;|VCache| Vc[&quot;V[N&apos;, d_k]&quot;]
Vc --&amp;gt; matmul1[&quot;MatMul&quot;]
matmul1 --&amp;gt; QKV[&quot;QKV[N, d_k]&quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FFN&lt;/code&gt; 的部分也很简单，就是一个残差块，里面是三个 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linear&lt;/code&gt; 操作。数学上是这样的&lt;/p&gt;

\[X&apos; = RMSNorm(X)\]

\[Y = X + (silu(X&apos;W_{gate})\otimes(X&apos;W_{up}))W_{down}\]

&lt;p&gt;其中 $W_{gate},W_{up}\in\mathbb{R}^{d\times H}\quad W_{down}\in\mathbb{R}^{H\times d}$&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;graph TD
input[&quot;hidden_state[N, d]&quot;] --&amp;gt;|RMSNorm| norm[&quot;hidden_state[N, d]&quot;]
norm --&amp;gt;|fc, dxH| gate[&quot;gate[N, H]&quot;]
norm --&amp;gt;|fc, dxH| up[&quot;up[N, H]&quot;]
gate --&amp;gt;|Silu| gate_[&quot;gate[N, H]&quot;]
gate_ --&amp;gt; Mul
up --&amp;gt; Mul
Mul --&amp;gt;|fc, Hxd| out[&quot;hidden_state[N, d]&quot;]
out --&amp;gt; Add
input --&amp;gt; Add
Add --&amp;gt; o[&quot;hidden_state[N, d]&quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;h4 id=&quot;rmsnorm&quot;&gt;RMSNorm&lt;/h4&gt;
&lt;p&gt;全名叫 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RootMeanSquare Norm&lt;/code&gt;，就是认为输入 $\mathbf{X}$ 的均值为 $0$ 的普通 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LayerNorm&lt;/code&gt;&lt;/p&gt;

\[\bar X=\frac{\mathbf{X}}{\sqrt{\frac1n\sum x_i^2}}\times\mathbf{\alpha}+\beta\]

&lt;p&gt;里头 $\alpha$ 和 $\beta$ 是可训练的，不过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;llama2&lt;/code&gt; 里 $\beta$ 是 $0$ 。&lt;/p&gt;

&lt;h4 id=&quot;rope&quot;&gt;RoPE&lt;/h4&gt;
&lt;p&gt;全名叫 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Rotray Position Embeding&lt;/code&gt; 旋转位置编码，&lt;a href=&quot;https://www.zhihu.com/tardis/zm/art/647109286?source_id=1003&quot;&gt;十分钟读懂旋转编码（RoPE）&lt;/a&gt;&lt;/p&gt;

\[f(x_m,m)=\mathbf{R}^d_{\Theta,m}\mathbf{x}_m\]

&lt;p&gt;这里的 $\mathbf{R}^d_{\Theta, m}$ 是这样的矩阵&lt;/p&gt;

\[\mathbf{R}^d_{\Theta, m}=
\begin{pmatrix}
\cos m\theta_0&amp;amp;-\sin m\theta_0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;0\\
\sin m\theta_0&amp;amp;\cos m\theta_0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0&amp;amp;0\\
0&amp;amp;0&amp;amp;\cos m\theta_1&amp;amp;-\sin m\theta_1&amp;amp;\cdots&amp;amp;0&amp;amp;0\\
0&amp;amp;0&amp;amp;\sin m\theta_1&amp;amp;\cos m\theta_1&amp;amp;\cdots&amp;amp;0&amp;amp;0\\
\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\ddots&amp;amp;\vdots&amp;amp;\vdots\\
0&amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;\cos m\theta_{d_k/2-1}&amp;amp;-\sin m\theta_{d_k/2-1}\\
0&amp;amp;0&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;\sin m\theta_{d_k/2-1}&amp;amp;\cos m\theta_{d_k/2-1}
\end{pmatrix}\]

\[\Theta=\left\{\theta_i=10000^{-2(i-1)/d},i\in[1,2,...,d/2]\right\}\]

&lt;p&gt;其实就是 $d_k/2$ 个旋转矩阵凑一起了。这里的 $m$ 指的是当前 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;token&lt;/code&gt; 的序号，比如 0，1，2，3 等等；在 &lt;em&gt;generate&lt;/em&gt; 过程中这个序号也是逐渐增加的。&lt;br /&gt;
根据 $\mathbf{R}^d_{\Theta, m}$ 的稀疏性，实际计算可以按&lt;/p&gt;

\[f(x_m,m)=
\begin{pmatrix}x_0\\x_1\\x_2\\x_3\\\vdots\\x_{d_k-2}\\x_{d_k-1}\end{pmatrix}
\otimes
\begin{pmatrix}\cos m\theta_0\\\cos m\theta_0\\\cos m\theta_1\\\cos m\theta_1\\\vdots\\\cos m\theta_{d_k/2-1}\\\cos m\theta_{d_k/2-1}\end{pmatrix}+
\begin{pmatrix}-x_1\\x_0\\-x_3\\x_2\\\vdots\\-x_{d_k-1}\\x_{d_k-2}\end{pmatrix}
\otimes
\begin{pmatrix}\sin m\theta_0\\\sin m\theta_0\\\sin m\theta_1\\\sin m\theta_1\\\vdots\\\sin m\theta_{d_k/2-1}\\\sin m\theta_{d_k/2-1}\end{pmatrix}\]

&lt;blockquote class=&quot;warning&quot;&gt;
  &lt;p&gt;在实际计算中，输出 $Q$ $K$ 的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linear&lt;/code&gt; 操作已经重排了输出结果的顺序，所以在实际计算中，并不是 $x_0\cos m\theta_0 - x_1\sin m\theta_0$，而是 $x_0\cos m\theta_0 - x_{d_k/2}\sin m\theta_0$&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;所以实际计算是这样的&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cos_param&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sin_param&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cos_param&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[...,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sin_param&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;kv-cache&quot;&gt;KV-Cache&lt;/h4&gt;
&lt;p&gt;在多头注意力的地方，$\mathbf{KV}$ 的输入都有一步 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;K-cache&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;V-cache&lt;/code&gt; 的操作，这实际上就是大模型所谓『记忆』的地方，不管是 &lt;em&gt;fill&lt;/em&gt; 还是 &lt;em&gt;generate&lt;/em&gt; 环节，中间 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linear&lt;/code&gt; 得到的 $\mathbf{KV}$ 都会缓存到一个地方，然后继续计算的时候是和之前缓存的 $\mathbf{KV}$ 进行 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Concat&lt;/code&gt; 之后做的。这里的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;N&apos;&lt;/code&gt; 其实就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;N+lastN&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lastN&lt;/code&gt; 是已经处理的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;token&lt;/code&gt; 总数。&lt;br /&gt;
因为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KV-cache&lt;/code&gt; 的存在，随着模型处理的总 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;token&lt;/code&gt; 数增长，cache 需要的空间也是线性增长的，同时这部分计算量是 $2NN&apos;d$ 也是线性增长的，实际上计算访存比是 $1$。这也是大模型优化的一个比较关键的节点吧。&lt;/p&gt;

&lt;h4 id=&quot;mask&quot;&gt;Mask&lt;/h4&gt;
&lt;p&gt;Mask 的功能是帮助模型了解 token 的时间先后关系，所以实际上只在 $N\ne1$ 即 &lt;em&gt;fill&lt;/em&gt; 的时候有用。Mask 矩阵是一个左下角包括对角线都是 $1$ 的矩阵，含义就是后一个 token 知道它自己和之前的 token 的信息，不知道它之后的 token 的信息。&lt;/p&gt;

\[MASK=\begin{pmatrix}
1&amp;amp;0&amp;amp;0&amp;amp;\cdots&amp;amp;0\\
1&amp;amp;1&amp;amp;0&amp;amp;\cdots&amp;amp;0\\
\vdots&amp;amp;\vdots&amp;amp;\vdots&amp;amp;\ddots&amp;amp;\vdots\\
1&amp;amp;1&amp;amp;1&amp;amp;\cdots&amp;amp;1
\end{pmatrix}\]

&lt;h4 id=&quot;softmax&quot;&gt;Softmax&lt;/h4&gt;
&lt;p&gt;功能是把一个向量映射成和为 $1$ 的类似概率密度分布的形式。&lt;/p&gt;

\[Softmax(x)=\frac{ {e}^{x_i}}{\sum{e^{x_i}}}\]

&lt;p&gt;在实际操作中，会使用更加数值稳定的计算方法&lt;/p&gt;

\[Softmax(x)=\frac{ {e}^{x_i-x_{max}}}{\sum{e^{x_i-x_{max}}}}\]

&lt;h3 id=&quot;post&quot;&gt;post&lt;/h3&gt;
&lt;p&gt;后处理有三步：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;第一步是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(N, d)&lt;/code&gt; 的隐含层在 $d$ 维度上做 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RMSNorm&lt;/code&gt;；&lt;/li&gt;
  &lt;li&gt;第二步是乘一个 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(d, V)&lt;/code&gt; 维度的矩阵，最后得到的是 $N$ 个维度数是 $V$ 的向量；&lt;/li&gt;
  &lt;li&gt;第三步是对输出计算 $Softmax$ ，得到的就是 $V$ 个维度就是概率密度。&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;graph TD
input[&quot;hidden_state[N, d]&quot;] --&amp;gt;|&quot;RMSNorm&quot;| t0[&quot;hidden_state[N, d]&quot;]
t0 --&amp;gt;|&quot;FC, dxV&quot;| t1[&quot;hidden_state[N, V]&quot;]
t1 --&amp;gt;|&quot;Softmax&quot;| t2[&quot;prob[N, V]&quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;token-generate&quot;&gt;token generate&lt;/h3&gt;
&lt;p&gt;概率密度有了，实际上就直接根据概率随机得到一个 token 值就可以了。为了输出的稳定性、计算效率等等因素，还有一些后处理方式：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;topK&lt;/strong&gt;，典型值 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;20&lt;/code&gt;。只取概率最高的 $k$ 个概率，然后重新归一化进行随机&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;topP&lt;/strong&gt;，典型值 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0.9&lt;/code&gt;。将概率从高到低排序，只在前 $p$ 概率里随机，避免随机到小概率事件，导致输出前言不搭后语的。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;temperature&lt;/strong&gt;，典型值 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0.9&lt;/code&gt;。其实是在上一步的 $Softmax$ 之前做的，就是对结果做一个除法，把值放大一点，这样 $Softmax$ 之后的概率会更集中，也就是文本生成更连续。&lt;/li&gt;
&lt;/ol&gt;
</description>
      </item>
    
      <item>
        <title>C++一个神奇的bug</title>
        <link>https://mickir.me/blog/C++-uninitialized.html</link>
        <guid isPermaLink="true">https://mickir.me/blog/C++-uninitialized.html</guid>
        <pubDate>Wed, 05 Aug 2020 21:35:02 +0800</pubDate>
        <description>
&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;foo&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;operator&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;foo&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;res&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;res&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;res&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;foo&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bar&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;上面这段代码，很明显有一个问题，就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;foo bar = bar + 1&lt;/code&gt;这里，bar还没init就用了。但是g++不会报任何warning。使用来自&lt;a href=&quot;https://stackoverflow.com/a/9862800&quot;&gt;这里&lt;/a&gt;的warning设置，即&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wswitch-default -Wundef -Werror -Wno-unused&lt;/code&gt; 依旧没有任何warning。&lt;/p&gt;

&lt;p&gt;不过&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clang++&lt;/code&gt;是会报warning的。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-&amp;gt; % clang++ test.cpp
test.cpp:44:13: warning: variable &apos;bar&apos; is uninitialized when used within its own initialization [-Wuninitialized]
  foo bar = bar + 1;
      ~~~   ^~~
1 warning generated.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
      </item>
    
  </channel>
</rss>
