-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
626 lines (426 loc) · 49.5 KB
/
index.html
File metadata and controls
626 lines (426 loc) · 49.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>Miracle Techlink</title><meta name="author" content="Liuyue"><meta name="copyright" content="Liuyue"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Link Tech, Link People, Link Future">
<meta property="og:type" content="website">
<meta property="og:title" content="Miracle Techlink">
<meta property="og:url" content="https://miracle-techlink.github.io/index.html">
<meta property="og:site_name" content="Miracle Techlink">
<meta property="og:description" content="Link Tech, Link People, Link Future">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://miracle-techlink.github.io/images/avatar.jpg">
<meta property="article:author" content="Liuyue">
<meta property="article:tag" content="tech, dream, link, future, miracle">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://miracle-techlink.github.io/images/avatar.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://miracle-techlink.github.io/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css?v=4.13.0"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.33/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":true,"preload":true,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"找不到您查询的内容:${query}","hits_stats":"共找到 ${hits} 篇文章"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: true,
post: true
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid@4.11.1/dist/infinitegrid.min.js',
buttonText: '加载更多'
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'Miracle Techlink',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2025-11-20 21:35:20'
}</script><script>(win=>{
win.saveToLocal = {
set: (key, value, ttl) => {
if (ttl === 0) return
const now = Date.now()
const expiry = now + ttl * 86400000
const item = {
value,
expiry
}
localStorage.setItem(key, JSON.stringify(item))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = Date.now()
if (now > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
Object.keys(attr).forEach(key => {
script.setAttribute(key, attr[key])
})
document.head.appendChild(script)
})
win.getCSS = (url, id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><link rel="stylesheet" href="/css/modify.css"><!-- hexo injector head_end start --><link rel="stylesheet" href="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu@1.1.6/lib/clock.min.css" /><link rel="stylesheet" href="https://cdn.cbd.int/hexo-butterfly-wowjs/lib/animate.min.css" media="print" onload="this.media='screen'"><!-- hexo injector head_end end --><meta name="generator" content="Hexo 7.3.0"><style>mjx-container[jax="SVG"] {
direction: ltr;
}
mjx-container[jax="SVG"] > svg {
overflow: visible;
}
mjx-container[jax="SVG"][display="true"] {
display: block;
text-align: center;
margin: 1em 0;
}
mjx-container[jax="SVG"][justify="left"] {
text-align: left;
}
mjx-container[jax="SVG"][justify="right"] {
text-align: right;
}
g[data-mml-node="merror"] > g {
fill: red;
stroke: red;
}
g[data-mml-node="merror"] > rect[data-background] {
fill: yellow;
stroke: none;
}
g[data-mml-node="mtable"] > line[data-line] {
stroke-width: 70px;
fill: none;
}
g[data-mml-node="mtable"] > rect[data-frame] {
stroke-width: 70px;
fill: none;
}
g[data-mml-node="mtable"] > .mjx-dashed {
stroke-dasharray: 140;
}
g[data-mml-node="mtable"] > .mjx-dotted {
stroke-linecap: round;
stroke-dasharray: 0,140;
}
g[data-mml-node="mtable"] > svg {
overflow: visible;
}
[jax="SVG"] mjx-tool {
display: inline-block;
position: relative;
width: 0;
height: 0;
}
[jax="SVG"] mjx-tool > mjx-tip {
position: absolute;
top: 0;
left: 0;
}
mjx-tool > mjx-tip {
display: inline-block;
padding: .2em;
border: 1px solid #888;
font-size: 70%;
background-color: #F8F8F8;
color: black;
box-shadow: 2px 2px 5px #AAAAAA;
}
g[data-mml-node="maction"][data-toggle] {
cursor: pointer;
}
mjx-status {
display: block;
position: fixed;
left: 1em;
bottom: 1em;
min-width: 25%;
padding: .2em .4em;
border: 1px solid #888;
font-size: 90%;
background-color: #F8F8F8;
color: black;
}
foreignObject[data-mjx-xml] {
font-family: initial;
line-height: normal;
overflow: visible;
}
.MathJax path {
stroke-width: 3;
}
mjx-container[display="true"] {
overflow: auto hidden;
}
mjx-container[display="true"] + br {
display: none;
}
</style><link rel="alternate" href="/atom.xml" title="Miracle Techlink" type="application/atom+xml">
</head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/images/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">15</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">7</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 仓库</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background: transparent"><nav id="nav"><span id="blog-info"><a href="/" title="Miracle Techlink"><img class="site-icon" src="/images/miracle%20techlink.png"/><span class="site-name">Miracle Techlink</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 仓库</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Miracle Techlink</h1><div id="site_social_icons"><a class="social-icon" href="https://github.com/miracle-techlink" target="_blank" title="Github"><i class="fab fa-github" style="color: #000000;"></i></a><a class="social-icon" href="/miracle.techlink@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #000000;"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="/posts/20040508.html" title="综述:VLA如何落地医疗机器人"><img class="post-bg" src="/images/cover_images/VLA-postrain1.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="综述:VLA如何落地医疗机器人"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/20040508.html" title="综述:VLA如何落地医疗机器人"><i class="fas fa-thumbtack sticky"></i>综述:VLA如何落地医疗机器人</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-10-27T07:14:32.000Z" title="发表于 2025-10-27 15:14:32">2025-10-27</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-10-29T08:55:16.841Z" title="更新于 2025-10-29 16:55:16">2025-10-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/VLA/">VLA</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%90%8E%E8%AE%AD%E7%BB%83/">后训练</a></span></div><div class="content">
Embodied-ai-in-healthcare
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
---
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/7fec344e.html" title="LLM finetuning practice"><img class="post-bg" src="/images/cover_images/finetune.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM finetuning practice"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/7fec344e.html" title="LLM finetuning practice"><i class="fas fa-thumbtack sticky"></i>LLM finetuning practice</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-10-17T00:26:50.000Z" title="发表于 2025-10-17 08:26:50">2025-10-17</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-10-17T00:28:41.527Z" title="更新于 2025-10-17 08:28:41">2025-10-17</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/finetune/">finetune</a></span></div><div class="content">
LLM finetune practice
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
引言</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/5a8a6c8d.html" title="LLM finetuning technical report"><img class="post-bg" src="/images/cover_images/finetune.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM finetuning technical report"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/5a8a6c8d.html" title="LLM finetuning technical report"><i class="fas fa-thumbtack sticky"></i>LLM finetuning technical report</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-10-15T10:46:15.000Z" title="发表于 2025-10-15 18:46:15">2025-10-15</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-10-15T19:05:29.197Z" title="更新于 2025-10-16 03:05:29">2025-10-16</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/finetune/">finetune</a></span></div><div class="content">
LLM finetune technical blog
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
引言随着大语言模型(LLM)规模的指数级增长,传统的全量微调方法正面临前所未有的挑战:参数量爆炸导致存储成本激增,灾难性遗忘阻碍多任务学习,计算资源需求超出大多数研究者的承受能力。为了在保持模型性能的同时大幅降低计算和存储开销,研究者们提出了各种参数高效微调(Parameter-Efficient Fine-Tuning, PELT)技术。
本文系统性地梳理了当前主流的LLM微调技术全景,从最基础的BitFit到工业级标配的LoRA,从学术探索的Prefix Tuning到实用的QLoRA,再到前沿的UniPELT等组合方法。每种技术都有其独特的适用场景和权衡考量:
轻量级方法(BitFit、Prompt Tuning):专为资源极度受限的场景设计
平衡型方法(LoRA、Adapter):在性能和效率间实现最佳平衡 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/7209bb14.html" title="VLA具身模型后训练综述"><img class="post-bg" src="/images/cover_images/VLA-postrain1.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="VLA具身模型后训练综述"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/7209bb14.html" title="VLA具身模型后训练综述"><i class="fas fa-thumbtack sticky"></i>VLA具身模型后训练综述</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-10-13T15:05:03.000Z" title="发表于 2025-10-13 23:05:03">2025-10-13</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-10-15T10:55:35.021Z" title="更新于 2025-10-15 18:55:35">2025-10-15</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/VLA/">VLA</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%90%8E%E8%AE%AD%E7%BB%83/">后训练</a></span></div><div class="content">
VLA具身模型后训练综述
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
---
① 监督式微调(SFT / Continual-FT)
开场比喻把 VLA 的预训练模型想成一位“纸上谈兵”的天才画家——他看过互联网所有名画,能描述《蒙娜丽莎》的每一笔,却从未真正拿起过画笔。监督式微调(SFT)就是给他一堂“写生速成课”:只许看老师示范 10 分钟,然后自己动笔,把眼前的苹果搬到画布上。画家依旧保留对“苹果红”“光影柔”的深刻理解,但现在必须让手腕学会“在哪儿落笔、如何运笔”。
数学舞台:条件概率的“画笔轨迹”我们把画家的写生过程写成一条“轨迹概率链”:
画苹果画苹果已落笔
每个 brushₜ 对应下一毫米画笔动作(离散化后就是 0–255 的 token)
只给“brush” token 算损失,让画家“手脑分离”——脑(视觉-语言)不动,手(动作头)狂练:
画苹果
画室里的“小灶”技巧
冻结视觉-语言层 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/5a0f8781.html" title="拓扑优化与CFD----高功率芯片设计微流体冷却系统"><img class="post-bg" src="/images/cover_images/CFD.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="拓扑优化与CFD----高功率芯片设计微流体冷却系统"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/5a0f8781.html" title="拓扑优化与CFD----高功率芯片设计微流体冷却系统"><i class="fas fa-thumbtack sticky"></i>拓扑优化与CFD----高功率芯片设计微流体冷却系统</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-05-02T05:34:49.000Z" title="发表于 2025-05-02 13:34:49">2025-05-02</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-05-02T08:23:39.086Z" title="更新于 2025-05-02 16:23:39">2025-05-02</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/AI-engineering/">AI+engineering</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/AI-engineering/">AI+engineering</a></span></div><div class="content">
拓扑优化与CFD----高功率芯片设计微流体冷却系统
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
引言
注意到,黄大年茶思屋网站中提到了这样一篇文章,《Glacierware: Hotspot-aware Microfluidic Cooling for High TDP Chips using Topology Optimization》,这篇论文是关于高功率芯片设计微流体冷却系统的,于是,我决定写一篇关于拓扑优化与CFD的博客,来记录一下我的学习过程。同时值得注意的是,这项技术目前只有一家瑞士公司(洛桑Corintis公司)已经商业化并且尝试在迁移这套系统的应用场景,希望这篇文章能启发到更多researcher背景的公司创始人。
网站页面也给出了这项技术的主要原理和架构图,对于其底层数学的建模原理,我们后续会继续给出分析,而仿真落地的方案因为论文并未开源,目前还在探索过程中,后面有时间才会更新。
...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/df2d3022.html" title="LLM底层架构---手撕flashattention1"><img class="post-bg" src="/images/cover_images/flashattention.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM底层架构---手撕flashattention1"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/df2d3022.html" title="LLM底层架构---手撕flashattention1"><i class="fas fa-thumbtack sticky"></i>LLM底层架构---手撕flashattention1</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-04-27T01:45:34.000Z" title="发表于 2025-04-27 09:45:34">2025-04-27</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-04-27T10:22:41.072Z" title="更新于 2025-04-27 18:22:41">2025-04-27</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%BA%95%E5%B1%82%E6%9E%B6%E6%9E%84/">底层架构</a></span></div><div class="content">
LLM底层架构---手撕flashattention1
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
引言FlashAttention是近年来为优化自注意力机制(Self-Attention)而提出的一种高效算法,旨在解决传统注意力机制在大规模模型训练中的内存和计算瓶颈问题。其通过在硬件层面优化内存访问和计算策略,实现了显著的加速效果,尤其适用于大规模模型的训练。在其原始论文中(FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Aware Computation),作者提出了一种基于硬件友好的设计,使得计算过程中内存使用更加高效,从而加速了训练过程。FlashAttention 在保持精度的同时,显著降低了对 GPU 显存的需求和内存带宽的消耗。本文章参考了李理的博客(FlashAttention: 高效注意力机制的实现与优化),结合 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/212a16ef.html" title="LLM分布式训练3---并行策略之流水线并行"><img class="post-bg" src="/images/cover_images/DDP.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM分布式训练3---并行策略之流水线并行"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/212a16ef.html" title="LLM分布式训练3---并行策略之流水线并行"><i class="fas fa-thumbtack sticky"></i>LLM分布式训练3---并行策略之流水线并行</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-04-24T04:37:17.000Z" title="发表于 2025-04-24 12:37:17">2025-04-24</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-04-27T01:50:25.867Z" title="更新于 2025-04-27 09:50:25">2025-04-27</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/DDP/">DDP</a></span></div><div class="content">
LLM分布式训练3---并行策略之流水线并行
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
本章将介绍分布式机器学习系统的基础概念、分布式训练的并行策略、分布式训练的集群架构,并以 DeepSpeed 为例,介绍如何在集群上训练大语言型。而这篇推送将主要介绍分布式训练的并行策略—-流水线并行。
分布式机器学习系统的基础概念
分布式训练的并行策略
分布式训练的集群架构
实操DDP-以DeepSpeed 为例
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/3a50363.html" title="LLM分布式训练2---并行策略之数据并行"><img class="post-bg" src="/images/cover_images/DDP.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM分布式训练2---并行策略之数据并行"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/3a50363.html" title="LLM分布式训练2---并行策略之数据并行"><i class="fas fa-thumbtack sticky"></i>LLM分布式训练2---并行策略之数据并行</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-04-23T07:50:53.000Z" title="发表于 2025-04-23 15:50:53">2025-04-23</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-04-24T04:34:45.908Z" title="更新于 2025-04-24 12:34:45">2025-04-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/DDP/">DDP</a></span></div><div class="content">
LLM分布式训练2---并行策略之数据并行
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
本章将介绍分布式机器学习系统的基础概念、分布式训练的并行策略、分布式训练的集群架构,并以 DeepSpeed 为例,介绍如何在集群上训练大语言型。而这篇推送将主要介绍分布式训练的并行策略。
分布式机器学习系统的基础概念
分布式训练的并行策略
分布式训练的集群架构
实操DDP-以DeepSpeed 为例
数据并行的数学原理数据并行的核心思想是将整个神经网络模型复制到多个计算设备上,并将训练数据分成若干子集,分配到每个计算设备上。每个计算设备独立进行前向传播和反向传播,计算出本地的梯度,并将所有设备的梯度汇总以更新模型。这个过程的关键在于梯度的同步和平均。
在数据并行系统中,每个计算设备都有整个神经网络模型的模型副本(Model Replica),进行并行计算。每个计算设备只分配一个批次数据样本的子集 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/eac6a656.html" title="LLM分布式训练4---Deepspeed实操"><img class="post-bg" src="/images/cover_images/DDP.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM分布式训练4---Deepspeed实操"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/eac6a656.html" title="LLM分布式训练4---Deepspeed实操"><i class="fas fa-thumbtack sticky"></i>LLM分布式训练4---Deepspeed实操</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-04-23T07:50:53.000Z" title="发表于 2025-04-23 15:50:53">2025-04-23</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-04-23T08:02:20.688Z" title="更新于 2025-04-23 16:02:20">2025-04-23</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/DDP/">DDP</a></span></div><div class="content">LLM分布式训练4---Deepspeed实操
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
本章将介绍分布式机器学习系统的基础概念、分布式训练的并行策略、分布式训练的集群架构,并以 DeepSpeed 为例,介绍如何在集群上训练大语言型。而这篇推送将主要介绍分布式训练的Deepspeed实操。
分布式机器学习系统的基础概念
分布式训练的并行策略
分布式训练的集群架构
实操DDP-以DeepSpeed 为例
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/74a233f5.html" title="LLM分布式训练3---集群架构"><img class="post-bg" src="/images/cover_images/DDP.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM分布式训练3---集群架构"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/74a233f5.html" title="LLM分布式训练3---集群架构"><i class="fas fa-thumbtack sticky"></i>LLM分布式训练3---集群架构</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time class="post-meta-date-created" datetime="2025-04-23T07:50:53.000Z" title="发表于 2025-04-23 15:50:53">2025-04-23</time><span class="article-meta-separator">|</span><i class="fas fa-history"></i><span class="article-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2025-04-24T04:48:27.018Z" title="更新于 2025-04-24 12:48:27">2025-04-24</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/LLM/">LLM</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/DDP/">DDP</a></span></div><div class="content">LLM分布式训练3---集群架构
作者:@同济大学 刘越
Github ID:@miracle-techlink
联系邮箱:miracle.techlink@gmail.com
校内邮箱: 2254018@tongji.edu.cn
本章将介绍分布式机器学习系统的基础概念、分布式训练的并行策略、分布式训练的集群架构,并以 DeepSpeed 为例,介绍如何在集群上训练大语言型。而这篇推送将主要介绍分布式训练的并行策略。
分布式机器学习系统的基础概念
分布式训练的并行策略
分布式训练的集群架构
实操DDP-以DeepSpeed 为例
</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/images/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Liuyue</div><div class="author-info__description">Link Tech, Link People, Link Future</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">15</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">7</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/miracle-techlink" target="_blank" title="Github"><i class="fab fa-github" style="color: #000000;"></i></a><a class="social-icon" href="/miracle.techlink@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #000000;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/posts/20040508.html" title="综述:VLA如何落地医疗机器人"><img src="/images/cover_images/VLA-postrain1.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="综述:VLA如何落地医疗机器人"/></a><div class="content"><a class="title" href="/posts/20040508.html" title="综述:VLA如何落地医疗机器人">综述:VLA如何落地医疗机器人</a><time datetime="2025-10-27T07:14:32.000Z" title="发表于 2025-10-27 15:14:32">2025-10-27</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/7fec344e.html" title="LLM finetuning practice"><img src="/images/cover_images/finetune.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM finetuning practice"/></a><div class="content"><a class="title" href="/posts/7fec344e.html" title="LLM finetuning practice">LLM finetuning practice</a><time datetime="2025-10-17T00:26:50.000Z" title="发表于 2025-10-17 08:26:50">2025-10-17</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/5a8a6c8d.html" title="LLM finetuning technical report"><img src="/images/cover_images/finetune.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LLM finetuning technical report"/></a><div class="content"><a class="title" href="/posts/5a8a6c8d.html" title="LLM finetuning technical report">LLM finetuning technical report</a><time datetime="2025-10-15T10:46:15.000Z" title="发表于 2025-10-15 18:46:15">2025-10-15</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/7209bb14.html" title="VLA具身模型后训练综述"><img src="/images/cover_images/VLA-postrain1.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="VLA具身模型后训练综述"/></a><div class="content"><a class="title" href="/posts/7209bb14.html" title="VLA具身模型后训练综述">VLA具身模型后训练综述</a><time datetime="2025-10-13T15:05:03.000Z" title="发表于 2025-10-13 23:05:03">2025-10-13</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/5a0f8781.html" title="拓扑优化与CFD----高功率芯片设计微流体冷却系统"><img src="/images/cover_images/CFD.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="拓扑优化与CFD----高功率芯片设计微流体冷却系统"/></a><div class="content"><a class="title" href="/posts/5a0f8781.html" title="拓扑优化与CFD----高功率芯片设计微流体冷却系统">拓扑优化与CFD----高功率芯片设计微流体冷却系统</a><time datetime="2025-05-02T05:34:49.000Z" title="发表于 2025-05-02 13:34:49">2025-05-02</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/AI-engineering/"><span class="card-category-list-name">AI+engineering</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/LLM/"><span class="card-category-list-name">LLM</span><span class="card-category-list-count">8</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/VLA/"><span class="card-category-list-name">VLA</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%B7%A5%E5%85%B7/"><span class="card-category-list-name">工具</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/"><span class="card-category-list-name">强化学习</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/"><span class="card-category-list-name">数据结构与算法</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/"><span class="card-category-list-name">深度学习</span><span class="card-category-list-count">1</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/mathmodel/" style="font-size: 1.37em; color: #99a4b2">mathmodel</a> <a href="/tags/%E5%BA%95%E5%B1%82%E6%9E%B6%E6%9E%84/" style="font-size: 1.1em; color: #999">底层架构</a> <a href="/tags/Datawhale/" style="font-size: 1.1em; color: #999">Datawhale</a> <a href="/tags/DDP/" style="font-size: 1.5em; color: #99a9bf">DDP</a> <a href="/tags/AI-engineering/" style="font-size: 1.1em; color: #999">AI+engineering</a> <a href="/tags/%E5%90%8E%E8%AE%AD%E7%BB%83/" style="font-size: 1.23em; color: #999ea6">后训练</a> <a href="/tags/finetune/" style="font-size: 1.23em; color: #999ea6">finetune</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2025/10/"><span class="card-archive-list-date">十月 2025</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2025/05/"><span class="card-archive-list-date">五月 2025</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2025/04/"><span class="card-archive-list-date">四月 2025</span><span class="card-archive-list-count">6</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/09/"><span class="card-archive-list-date">九月 2024</span><span class="card-archive-list-count">4</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">15</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2025-11-20T13:35:20.539Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer" style="background: transparent"><div id="footer-wrap"><div class="copyright">©2020 - 2025 By Liuyue</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="chat-btn" type="button" title="聊天"><i class="fas fa-sms"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js?v=4.13.0"></script><script src="/js/main.js?v=4.13.0"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.33/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"></div><canvas class="fireworks" mobile="false"></canvas><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1.1.3/dist/fireworks.min.js"></script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1.1.3/dist/activate-power-mode.min.js"></script><script>POWERMODE.colorful = true;
POWERMODE.shake = true;
POWERMODE.mobile = false;
document.body.addEventListener('input', POWERMODE);
</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> 数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div><script src="/js/search/local-search.js?v=4.13.0"></script></div></div><!-- hexo injector body_end start --><script data-pjax>
function butterfly_clock_anzhiyu_injector_config(){
var parent_div_git = document.getElementsByClassName('sticky_layout')[0];
var item_html = '<div class="card-widget card-clock"><div class="card-glass"><div class="card-background"><div class="card-content"><div id="hexo_electric_clock"><img class="entered loading" id="card-clock-loading" src="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu@1.1.6/lib/loading.gif" style="height: 120px; width: 100%;" data-ll-status="loading"/></div></div></div></div></div>';
console.log('已挂载butterfly_clock_anzhiyu')
if(parent_div_git) {
parent_div_git.insertAdjacentHTML("afterbegin",item_html)
}
}
var elist = 'null'.split(',');
var cpage = location.pathname;
var epage = 'all';
var qweather_key = 'b16a1fa0e63c46a4b8f28abfb06ae3fe';
var gaud_map_key = 'e2b04289e870b005374ee030148d64fd&s=rsv3';
var baidu_ak_key = 'undefined';
var flag = 0;
var clock_rectangle = '112.6534116,27.96920845';
var clock_default_rectangle_enable = 'true';
for (var i=0;i<elist.length;i++){
if (cpage.includes(elist[i])){
flag++;
}
}
if ((epage ==='all')&&(flag == 0)){
butterfly_clock_anzhiyu_injector_config();
}
else if (epage === cpage){
butterfly_clock_anzhiyu_injector_config();
}
</script><script src="https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0"></script><script data-pjax src="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu@1.1.6/lib/clock.min.js"></script><div class="js-pjax"><script async="async">var arr = document.getElementsByClassName('recent-post-item');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__zoomIn');
arr[i].setAttribute('data-wow-duration', '1.5s');
arr[i].setAttribute('data-wow-delay', '200ms');
arr[i].setAttribute('data-wow-offset', '30');
arr[i].setAttribute('data-wow-iteration', '1');
}</script><script async="async">var arr = document.getElementsByClassName('card-widget');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__zoomIn');
arr[i].setAttribute('data-wow-duration', '');
arr[i].setAttribute('data-wow-delay', '200ms');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script><script async="async">var arr = document.getElementsByClassName('flink-list-card');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__flipInY');
arr[i].setAttribute('data-wow-duration', '3s');
arr[i].setAttribute('data-wow-delay', '');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script><script async="async">var arr = document.getElementsByClassName('flink-list-card');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__animated');
arr[i].setAttribute('data-wow-duration', '3s');
arr[i].setAttribute('data-wow-delay', '');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script><script async="async">var arr = document.getElementsByClassName('article-sort-item');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__slideInRight');
arr[i].setAttribute('data-wow-duration', '1.5s');
arr[i].setAttribute('data-wow-delay', '');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script><script async="async">var arr = document.getElementsByClassName('site-card');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__flipInY');
arr[i].setAttribute('data-wow-duration', '3s');
arr[i].setAttribute('data-wow-delay', '');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script><script async="async">var arr = document.getElementsByClassName('site-card');
for(var i = 0;i<arr.length;i++){
arr[i].classList.add('wow');
arr[i].classList.add('animate__animated');
arr[i].setAttribute('data-wow-duration', '3s');
arr[i].setAttribute('data-wow-delay', '');
arr[i].setAttribute('data-wow-offset', '');
arr[i].setAttribute('data-wow-iteration', '');
}</script></div><script defer src="https://cdn.cbd.int/hexo-butterfly-wowjs/lib/wow.min.js"></script><script defer src="https://cdn.cbd.int/hexo-butterfly-wowjs/lib/wow_init.js"></script><!-- hexo injector body_end end --><script src="/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script><script>L2Dwidget.init({"tagMode":false,"debug":false,"model":{"jsonPath":"/live2dw/assets/koharu.model.json"},"display":{"position":"left","width":150,"height":300},"mobile":{"show":false},"log":false,"pluginJsPath":"lib/","pluginModelPath":"assets/","pluginRootPath":"live2dw/"});</script></body></html>