build(备份): 2026年03月20日11时25分03秒自动备份
This commit is contained in:
parent
60e0451cc4
commit
d322abf91f
89
.obsidian/workspace.json
vendored
89
.obsidian/workspace.json
vendored
@ -6,7 +6,6 @@
|
||||
{
|
||||
"id": "2d20a118853bc12a",
|
||||
"type": "tabs",
|
||||
"dimension": 34.01015228426396,
|
||||
"children": [
|
||||
{
|
||||
"id": "531f6328d1bd9abe",
|
||||
@ -14,7 +13,7 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "城院附校-主机-.md",
|
||||
"file": "01-项目/2602-健康运动/健康运动-周5-练腿训练日志.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
@ -29,33 +28,22 @@
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "城院附校-主机-"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2077abc8b3b7c344",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "新标签页"
|
||||
"title": "健康运动-周5-练腿训练日志"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "74351c3da5bbf19b",
|
||||
"id": "2e1b41cb16dee73a",
|
||||
"type": "tabs",
|
||||
"dimension": 65.98984771573603,
|
||||
"children": [
|
||||
{
|
||||
"id": "5e77d83449cbebe6",
|
||||
"id": "2077abc8b3b7c344",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Untitled 22.md",
|
||||
"file": "模板文件/模板-练腿日志.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
@ -70,17 +58,7 @@
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Untitled 22"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0f78844890331c5c",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "新标签页"
|
||||
"title": "模板-练腿日志"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -250,39 +228,41 @@
|
||||
"templater-obsidian:Templater": false
|
||||
}
|
||||
},
|
||||
"active": "5e77d83449cbebe6",
|
||||
"active": "2077abc8b3b7c344",
|
||||
"lastOpenFiles": [
|
||||
"城院附校-主机-.md",
|
||||
"Untitled 22.md",
|
||||
"attachments/Pasted image 20260319135010.png",
|
||||
"Untitled 21.md",
|
||||
"01-项目/2602-健康运动/健康运动-周4-练臂腹训练日志.md",
|
||||
"模板文件/模板-练臂腹日志.md",
|
||||
"模板文件/模板-练腿日志.md",
|
||||
"01-项目/2602-健康运动/健康运动-器械清单.md",
|
||||
"01-项目/2602-健康运动/健康运动-周3-练肩训练计划.md",
|
||||
"01-项目/2602-健康运动/健康运动-周5-练腿训练日志.md",
|
||||
"模板文件/模板-练腿日志.md",
|
||||
"01-项目/2602-健康运动/健康运动-周6-有氧训练计划.md",
|
||||
"模板文件/模板-练肩日志.md",
|
||||
"01-项目/2602-健康运动/健康运动-周2-练背训练日志.md",
|
||||
"01-项目/2602-健康运动/健康运动-周1-练胸训练计划.md",
|
||||
"01-项目/2602-健康运动/健康运动-器械说明-CHEST_PRESS.md",
|
||||
"Untitled 20.md",
|
||||
"Untitled 19.md",
|
||||
"Untitled 18.md",
|
||||
"attachments/Pasted image 20260316142409.png",
|
||||
"Untitled 17.md",
|
||||
"attachments/Pasted image 20260316142327.png",
|
||||
"01-项目/2603-上城区人工智能平台/参数配置-服务器配置.md",
|
||||
"城院附校-主机-.md",
|
||||
"20260204-备忘-觉察知识-对话回应价值理论.md",
|
||||
"1链接索引-觉察知识-复盘地图.md",
|
||||
"02-领域/信息科技/领域知识地图.md",
|
||||
"03-资源/信息科技-气象数据模型-对照组实验.md",
|
||||
"05-原子化笔记本/Linux-xargs-标准输入转命令参数.md",
|
||||
"03-资源/操作说明-工具技巧-Windows命令行zip.md",
|
||||
"05-原子化笔记本/Linux-find-文件目录查找.md",
|
||||
"02-领域/MaixCam/领域知识地图.md",
|
||||
"01-项目/2603-幕僚长/问题解答-方案调研.md",
|
||||
"未命名.md",
|
||||
"Untitled 16.md",
|
||||
"attachments/Pasted image 20260316142254.png",
|
||||
"Untitled 15.md",
|
||||
"attachments/Pasted image 20260316142029.png",
|
||||
"Untitled 14.md",
|
||||
"attachments/Pasted image 20260316141334.png",
|
||||
"01-项目/2512-MaixCam竞赛版/项目-总结.md",
|
||||
"模板文件/模板-练胸日志.md",
|
||||
"Untitled.md",
|
||||
"01-项目/2603-协同检索/Untitled 1.md",
|
||||
"01-项目/2603-协同检索/Untitled 9.md",
|
||||
"Untitled 13.md",
|
||||
"Untitled 12.md",
|
||||
"Untitled 7.md",
|
||||
"Untitled 8.md",
|
||||
"01-项目/2603-协同检索/Untitled 11.md",
|
||||
"01-项目/2603-协同检索",
|
||||
"attachments/Pasted image 20260319135010.png",
|
||||
"attachments/Pasted image 20260316142409.png",
|
||||
"attachments/Pasted image 20260316142327.png",
|
||||
"attachments/Pasted image 20260316142254.png",
|
||||
"attachments/Pasted image 20260316142029.png",
|
||||
"attachments/Pasted image 20260316141334.png",
|
||||
"attachments/Pasted image 20260312173403.png",
|
||||
"attachments/Pasted image 20260312173350.png",
|
||||
"attachments/Pasted image 20260312173332.png",
|
||||
@ -295,7 +275,6 @@
|
||||
"01-项目/2603-健康饮食",
|
||||
"auto_backup.py",
|
||||
"main.py",
|
||||
"auto_sync.bat",
|
||||
"auto_sync.sh"
|
||||
"auto_sync.bat"
|
||||
]
|
||||
}
|
||||
@ -22,21 +22,27 @@
|
||||
|
||||
## 训练项目
|
||||
|
||||
- **罗马尼亚硬拉(RDL)**
|
||||
→ 腘绳肌力量主项,精力最好时练
|
||||
主打大腿后侧、臀腿衔接与后侧链力量,平衡前后肌力、保护膝盖
|
||||
- **哈克深蹲**
|
||||
→ 腿部 “自由卧推”,核心主项,精力最好时练
|
||||
主打股四头肌、臀腿整体力量,适合渐进超负荷、冲重量
|
||||
- **倒蹬机**
|
||||
→ 腿部整体充血、大重量泵感,对腰部友好
|
||||
作为哈克之后的辅助复合,巩固腿前侧 + 臀
|
||||
- **插片坐姿腿屈伸**
|
||||
→ 孤立股四头肌,强化大腿前侧线条、收感极致
|
||||
纯孤立、找发力感,不耗核心
|
||||
- **俯卧腿弯举**
|
||||
→ 孤立腘绳肌(大腿后侧),前后均衡、保护膝盖
|
||||
后侧收尾,让腿部更完整、体态更稳
|
||||
- **哈克深蹲(12 次)**
|
||||
→ 腿部力量主项,精力最充沛时优先练
|
||||
主打股四头肌、臀大肌,整体腿部围度与基础力量,最适合稳定渐进超负荷
|
||||
- **倒蹬机(12 次)**
|
||||
→ 哈克深蹲后的第二复合主项,对腰部压力低
|
||||
主打腿部整体充血、泵感强烈,巩固股四头肌与臀部,大重量安全友好
|
||||
- **插片坐姿腿屈伸(18 次)**
|
||||
→ 股四头肌极致孤立塑形动作
|
||||
主打大腿前侧线条、收缩感,强化股四头肌细节,不消耗核心与腰部
|
||||
- **俯卧腿弯举(18 次)**
|
||||
→ 大腿后侧(腘绳肌)孤立塑形主项
|
||||
均衡前后侧肌力,保护膝盖,让腿部比例更完整、体态更稳定
|
||||
- **髋外展(18 次,lb)**
|
||||
→ 臀部侧面核心塑形动作
|
||||
主打臀中肌、臀上部,改善假胯宽、提升臀侧饱满度,稳定骨盆与腿型
|
||||
- **髋内收(18 次,lb)**
|
||||
→ 大腿内侧精细化塑形动作
|
||||
收紧大腿内侧线条、美化腿缝,作为辅助细节补充,对臀部刺激较小
|
||||
- **坐姿卷腹(18 次)**
|
||||
→ 腹部核心负重塑形动作
|
||||
主打腹直肌收缩,强化腹部紧致度与厚度,稳定核心、提升整体体态支撑
|
||||
|
||||
## 训练日志
|
||||
|
||||
@ -77,17 +83,39 @@
|
||||
时间:[__2026/03/18______]
|
||||
|
||||
时间点:
|
||||
- 5:40 出发
|
||||
- 5:35 出发
|
||||
|
||||
训练容量(项目-组数-重量) 力量8~12次、塑形15~18次
|
||||
|
||||
| 项目 | 组 1 | 组 2 | 组 3 | 组 4 |
|
||||
| --------- | --- | --- | --- | --- |
|
||||
| 罗马尼亚硬拉12 | 5 | | | |
|
||||
| ----------- | --- | ---- | ---- | ---- |
|
||||
| 哈克深蹲12 | 10 | 12.5 | 12.5 | 12.5 |
|
||||
| 倒蹬机12 | 25 | 27.5 | 30 | 32.5 |
|
||||
| 插片坐姿腿屈伸18 | 10 | 12.5 | 12.5 | 12.5 |
|
||||
| 俯卧腿弯举18 | 40 | 45 | 50 | 50 |
|
||||
| 髋外展18(单位lb) | 80 | 100 | 100 | 100 |
|
||||
| 坐姿卷腹18 | 10 | 15 | 20 | 22.5 |
|
||||
|
||||
---
|
||||
|
||||
时间:[__2026/03/27______]
|
||||
|
||||
时间点:
|
||||
- 5:40 出发
|
||||
|
||||
训练容量(项目-组数-重量) 力量8~12次、塑形15~18次
|
||||
热身组为第一组 50%,第一组基准为上一周最大-2.5,每组递增 2.5
|
||||
x、x + 2.5、x + 5、x + 2.5
|
||||
|
||||
| 项目/次数 | 组 1 | 组 2 | 组 3 | 组 4 |
|
||||
| ----------- | --- | --- | --- | --- |
|
||||
| 哈克深蹲12 | 10 | | | |
|
||||
| 倒蹬机12 | 25 | | | |
|
||||
| 插片坐姿腿屈伸18 | 15 | | | |
|
||||
| 俯卧腿弯举18 | 40 | | | |
|
||||
| 倒蹬机12 | 30 | | | |
|
||||
| 插片坐姿腿屈伸18 | 10 | | | |
|
||||
| 俯卧腿弯举18 | 45 | | | |
|
||||
| 髋外展18(单位lb) | 100 | | | |
|
||||
| 髋内收18(单位lb) | | | | |
|
||||
| 坐姿卷腹18 | 20 | | | |
|
||||
|
||||
倒蹬机测试组:[________] kg x [________]
|
||||
|
||||
@ -99,8 +127,6 @@
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 器材说明
|
||||
|
||||
@ -15,6 +15,7 @@ from #领域/信息科技
|
||||
where !contains(this.file.outlinks, file.link)
|
||||
and file.link != this.file.link
|
||||
and file.name != "觉察知识-标签配置"
|
||||
and file.name != this.file.name
|
||||
and file.mtime < date(now) - dur("1s")
|
||||
```
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
---
|
||||
|
||||
#复盘/4
|
||||
#复盘/5
|
||||
|
||||
## 一句话描述
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
---
|
||||
#领域/工具技巧 #资源/操作说明
|
||||
|
||||
#复盘/4
|
||||
#复盘/5
|
||||
|
||||
## 一句话描述
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
---
|
||||
#领域/Linux
|
||||
|
||||
#复盘/4
|
||||
#复盘/5
|
||||
|
||||
## 一句话描述
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
---
|
||||
#领域/Linux
|
||||
|
||||
#复盘/4
|
||||
#复盘/5
|
||||
|
||||
## 一句话描述
|
||||
|
||||
|
||||
@ -1,76 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260315-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
后退
|
||||
|
||||
step_list = [
|
||||
[80, 100, 80, 80],
|
||||
[70, 90, 80, 90],
|
||||
[60, 80, 80, 100],
|
||||
[70, 90, 70, 90],
|
||||
[80, 100, 60, 80],
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
step_list = [
|
||||
[80, 80, 80, 80],
|
||||
[80, 90, 70, 80],
|
||||
[80, 100, 60, 80],
|
||||
[80, 110, 50, 80],
|
||||
[80, 120, 40, 80],
|
||||
[80, 110, 50, 80],
|
||||
[80, 100, 60, 80],
|
||||
[80, 90, 70, 80],
|
||||
|
||||
|
||||
[70, 80, 80, 90],
|
||||
[60, 80, 80, 100],
|
||||
[50, 80, 80, 110],
|
||||
[40, 80, 80, 120],
|
||||
[50, 80, 80, 110],
|
||||
[60, 80, 80, 100],
|
||||
[70, 80, 80, 90],
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```python
|
||||
step_list = [
|
||||
[80, 80, 80, 80],
|
||||
[80, 110, 40, 80],
|
||||
[80, 80, 80, 80],
|
||||
[60, 80, 80, 130],
|
||||
]
|
||||
|
||||
|
||||
|
||||
test([
|
||||
[80, 80, 80, 80],
|
||||
|
||||
])
|
||||
|
||||
```
|
||||
@ -1,27 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260315-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
|
||||
|
||||
泡沫轴 放到胸廓上,吸气吸满,揉,背手悬空,吸气维持住去滚,滚两组
|
||||
泡沫轴,墙上,掌心面朝自己,滚小臂,2到3组
|
||||
趴下,海豹拉伸前侧,可以加一点旋转,不要松气,多吸气,腹肌主动对抗
|
||||
|
||||
两组热身激活
|
||||
|
||||
上胸,向心,
|
||||
|
||||
|
||||
|
||||
夹胸手伸直 夹胸发力感
|
||||
|
||||
@ -1,68 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260311-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
|
||||
|
||||
```python
|
||||
// --- 初始准备 ---
|
||||
|
||||
// 所有腿伸到最前或最后位置
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(60.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
|
||||
|
||||
servo1_.SetAngle(10.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(80.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(170.0f);
|
||||
|
||||
servo3_.SetAngle(90.0f);
|
||||
|
||||
servo4_.SetAngle(80.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
// --- 初始准备 ---
|
||||
// 所有腿伸到最前或最后位置
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(60.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
```
|
||||
@ -12,3 +12,24 @@
|
||||
|
||||
---
|
||||
![[Pasted image 20260319135010.png]]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
脚本自动安装
|
||||
|
||||
密钥停住
|
||||
|
||||
查看8002端口页面-参数密钥
|
||||
|
||||
输入密钥(或随便输入,改web参数密钥)
|
||||
|
||||
修改服务地址
|
||||
修改websocket 8000端口 wss://xxx/xiaozhi/v1/
|
||||
修改ota 8002 端口 https://xxx/xiaozhi/ota/
|
||||
|
||||
esp32 断网,进入配网,高级选项输入ota
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260311-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
推荐 3 个 “开箱即用” 的模型(个人知识库首选):
|
||||
Llama3-8B-Instruct-GGUF(4bit):通用能力强,上下文理解好,适合各类自然语言文档;
|
||||
Qwen-7B-Chat-GPTQ(4bit):中文支持极佳,适合中文书籍 / 教程;
|
||||
CodeLlama-7B-Instruct-GGUF(4bit):适合技术文档 / 代码类知识库。
|
||||
231
Untitled 4.md
231
Untitled 4.md
@ -1,231 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260311-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
你想知道如何给模型做蒸馏和量化,这是把大模型适配到个人电脑 / 低算力环境的核心操作 —— 对个人知识库场景来说,**量化是必做的(直接降低算力需求),蒸馏可按需选择(进一步优化场景适配性)**。我会用最通俗的步骤,教你用开源工具完成这两个操作,全程避开复杂的底层代码,聚焦 “能直接落地的实操流程”。
|
||||
|
||||
### 核心前提
|
||||
|
||||
先明确两个概念的定位(避免混淆):
|
||||
|
||||
表格
|
||||
|
||||
|操作|核心目的|算力要求|对个人的价值|
|
||||
|---|---|---|---|
|
||||
|**量化(Quantization)**|把模型参数从 32 位浮点数压缩成 4/8 位整数,降低内存 / 显存占用(如 7B 模型从 13G 显存降到 3-5G)|极低(普通电脑就能做)|✅ 必做:让 7B 模型能在笔记本上运行|
|
||||
|**蒸馏(Distillation)**|把大模型(如 70B)的知识 “迁移” 到小模型(如 7B),让小模型更适配特定场景(如你的文档)|中等(需少量 GPU 算力,或用云平台)|❌ 可选:仅当通用 7B 模型处理你的文档效果差时做|
|
||||
|
||||
---
|
||||
|
||||
## 一、量化(核心操作):把 7B 模型压缩到个人电脑能跑
|
||||
|
||||
### 工具选择(个人首选)
|
||||
|
||||
- **GGUF 格式量化**:最适合个人本地运行(支持 CPU/GPU 混合推理),工具用 `llama.cpp`(跨平台,Windows/Mac/Linux 都能用);
|
||||
- **GPTQ/AWQ 量化**:适合有 GPU 的场景(推理速度更快),工具用 `AutoGPTQ`/`AWQ`(基于 Hugging Face)。
|
||||
|
||||
### 实操步骤(以 GGUF 为例,最易上手)
|
||||
|
||||
#### 步骤 1:准备环境
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
# 1. 安装Python(3.9+)和git
|
||||
# 2. 克隆llama.cpp仓库
|
||||
git clone https://github.com/ggerganov/llama.cpp.git
|
||||
cd llama.cpp
|
||||
# 3. 安装依赖
|
||||
pip install -r requirements.txt
|
||||
# 4. 编译(Windows用Visual Studio,Mac/Linux直接编译)
|
||||
make
|
||||
```
|
||||
|
||||
#### 步骤 2:下载原始 7B 模型(选社区开源模型)
|
||||
|
||||
- 从 Hugging Face 下载基础模型(如 Llama3-8B-Instruct、Qwen-7B-Chat);
|
||||
- 推荐地址:
|
||||
|
||||
- Llama3-8B-Instruct:[https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct)
|
||||
- Qwen-7B-Chat:[https://huggingface.co/Qwen/Qwen-7B-Chat](https://huggingface.co/Qwen/Qwen-7B-Chat)
|
||||
|
||||
|
||||
#### 步骤 3:转换并量化模型(关键一步)
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
# 1. 把原始模型转换为llama.cpp支持的格式
|
||||
python convert.py /path/to/your/model/Meta-Llama-3-8B-Instruct --outtype f16 --outfile ./models/llama3-8b-f16.gguf
|
||||
|
||||
# 2. 量化为4bit(个人最优选择,平衡速度和效果)
|
||||
./quantize ./models/llama3-8b-f16.gguf ./models/llama3-8b-q4_0.gguf q4_0
|
||||
```
|
||||
|
||||
- 关键参数说明:
|
||||
|
||||
- `q4_0`:4bit 量化(推荐),显存占用≈4G;
|
||||
- `q8_0`:8bit 量化,显存占用≈8G(效果更好,适合有 16G 内存的电脑);
|
||||
- `q2_k`:2bit 量化(极限压缩,效果略降,适合低配电脑)。
|
||||
|
||||
|
||||
#### 步骤 4:测试运行量化后的模型
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
# 运行交互式问答,验证模型是否能正常工作
|
||||
./main -m ./models/llama3-8b-q4_0.gguf -c 4096 --color -i -r "User:" -f prompts/chat-with-bob.txt
|
||||
```
|
||||
|
||||
- 输入你的问题(如 “基于参考文档回答 xxx”),验证模型是否能正常响应,且内存 / 显存占用在个人电脑承受范围内。
|
||||
|
||||
### 简化方案(不用自己量化)
|
||||
|
||||
如果不想手动操作,直接下载社区已量化好的 GGUF 模型:
|
||||
|
||||
- 地址:[https://huggingface.co/TheBloke](https://huggingface.co/TheBloke)(搜索 “Llama3-8B-Instruct-GGUF”“Qwen-7B-Chat-GGUF”);
|
||||
- 选择 “q4_0” 或 “q8_0” 版本,直接下载就能用,跳过步骤 2-3。
|
||||
|
||||
---
|
||||
|
||||
## 二、蒸馏(可选操作):让 7B 模型更适配你的文档
|
||||
|
||||
仅当通用 7B 模型处理你的文档时 “答非所问”“漏关键信息” 时做,核心是用你的文档数据 “微调” 小模型。
|
||||
|
||||
### 工具选择
|
||||
|
||||
- 轻量蒸馏:`LoRA + Hugging Face Trainer`(低算力,仅训练模型的部分参数);
|
||||
- 全量蒸馏:`Model Distillation`(高算力,不推荐个人做)。
|
||||
|
||||
### 实操步骤(轻量蒸馏,适配你的文档)
|
||||
|
||||
#### 步骤 1:准备你的文档数据
|
||||
|
||||
把你的 n 个文档整理成 “问答对” 格式(JSONL),示例:
|
||||
|
||||
jsonl
|
||||
|
||||
```
|
||||
{"input": "摄影中的黄金曝光三角指什么?", "output": "黄金曝光三角指光圈、快门速度、ISO感光度,参考文档中提到:光圈控制进光量,快门控制曝光时间,ISO控制感光灵敏度。"}
|
||||
{"input": "如何设置人像摄影的光圈参数?", "output": "人像摄影推荐光圈f/2.8-f/5.6,参考文档第3章提到:大光圈(f/2.8)能虚化背景,突出主体。"}
|
||||
```
|
||||
|
||||
- 只需准备 50-200 条这样的问答对(越多效果越好,但个人场景 50 条足够)。
|
||||
|
||||
#### 步骤 2:安装依赖
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
pip install transformers peft accelerate datasets bitsandbytes
|
||||
```
|
||||
|
||||
#### 步骤 3:运行轻量蒸馏(LoRA)
|
||||
|
||||
python
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments
|
||||
from peft import LoraConfig, get_peft_model
|
||||
from trl import SFTTrainer
|
||||
|
||||
# 1. 加载基础模型和tokenizer
|
||||
model_name = "Qwen/Qwen-7B-Chat"
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
model_name,
|
||||
load_in_4bit=True, # 用4bit加载,降低显存占用
|
||||
device_map="auto"
|
||||
)
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||||
|
||||
# 2. 配置LoRA(仅训练少量参数)
|
||||
lora_config = LoraConfig(
|
||||
r=8, # 低秩矩阵维度,越小算力越低
|
||||
lora_alpha=32,
|
||||
target_modules=["q_proj", "v_proj"], # 仅训练Attention相关层
|
||||
lora_dropout=0.05,
|
||||
bias="none",
|
||||
task_type="CAUSAL_LM"
|
||||
)
|
||||
model = get_peft_model(model, lora_config)
|
||||
|
||||
# 3. 加载你的问答数据
|
||||
from datasets import load_dataset
|
||||
dataset = load_dataset("json", data_files="your_data.jsonl")
|
||||
|
||||
# 4. 配置训练参数(个人电脑也能跑)
|
||||
training_args = TrainingArguments(
|
||||
per_device_train_batch_size=1, # 批次大小,1适合低配电脑
|
||||
gradient_accumulation_steps=4,
|
||||
max_steps=100, # 训练步数,100足够个人场景
|
||||
learning_rate=2e-4,
|
||||
fp16=True,
|
||||
logging_steps=10,
|
||||
output_dir="./distilled_model",
|
||||
optim="paged_adamw_8bit"
|
||||
)
|
||||
|
||||
# 5. 开始训练(蒸馏)
|
||||
trainer = SFTTrainer(
|
||||
model=model,
|
||||
train_dataset=dataset["train"],
|
||||
tokenizer=tokenizer,
|
||||
args=training_args,
|
||||
max_seq_length=1024
|
||||
)
|
||||
trainer.train()
|
||||
|
||||
# 6. 保存蒸馏后的模型
|
||||
model.save_pretrained("./distilled_model_lora")
|
||||
```
|
||||
|
||||
#### 步骤 4:合并并量化蒸馏后的模型
|
||||
|
||||
把 LoRA 权重合并到基础模型,再按 “量化步骤” 压缩,就能得到适配你文档的轻量化模型。
|
||||
|
||||
---
|
||||
|
||||
## 三、关键注意事项(个人避坑指南)
|
||||
|
||||
1. **量化优先级**:优先用社区已量化好的模型(TheBloke),自己量化仅当社区没有适配模型时做;
|
||||
2. **算力要求**:
|
||||
|
||||
- 量化:无 GPU 也能做(CPU 慢但能跑),16G 内存足够;
|
||||
- 蒸馏:建议用云平台(如 Colab 免费 GPU、阿里云按需付费 GPU),避免占用个人电脑资源;
|
||||
|
||||
3. **效果验证**:量化后的模型效果损失极小(4bit 量化仅损失 5% 左右),完全满足个人知识库场景;
|
||||
4. **模型格式选择**:
|
||||
|
||||
- 仅 CPU 运行:选 GGUF 格式;
|
||||
- 有 NVIDIA GPU:选 GPTQ/AWQ 格式(推理速度快 2-3 倍)。
|
||||
|
||||
|
||||
---
|
||||
|
||||
### 总结
|
||||
|
||||
1. **量化(必做)**:用`llama.cpp`把 7B 模型转为 GGUF 格式(4bit),普通笔记本就能运行,优先下载社区已量化的模型,无需自己操作;
|
||||
2. **蒸馏(可选)**:仅当通用模型效果差时,用 LoRA 轻量蒸馏(50-200 条问答对),借助云 GPU 完成,成本极低;
|
||||
3. **核心目标**:量化解决 “能运行” 的问题,蒸馏解决 “适配你的文档” 的问题,个人场景优先做好量化即可。
|
||||
|
||||
如果需要,我可以给你一份 “一键量化 + 运行” 的批处理脚本(Windows)/shell 脚本(Mac/Linux),你只需替换模型路径,双击就能完成量化和测试,不用手动敲命令。
|
||||
132
Untitled 5.md
132
Untitled 5.md
@ -1,132 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260311-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
# 新建并进入项目文件夹
|
||||
mkdir LLM-KnowledgeBase && cd LLM-KnowledgeBase
|
||||
|
||||
# 克隆llama.cpp仓库
|
||||
git clone https://github.com/ggerganov/llama.cpp.git
|
||||
cd llama.cpp
|
||||
|
||||
# 安装依赖
|
||||
pip install -r requirements.txt
|
||||
# 编译(Windows自动用Visual Studio编译,等待1-2分钟)
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
apt update && apt install build-essential
|
||||
```
|
||||
|
||||
|
||||
#### 1. 先安装 CMake(如果未安装)
|
||||
|
||||
在你的 Debian/Ubuntu 环境下执行:
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
apt update && apt install cmake
|
||||
```
|
||||
|
||||
#### 2. 标准 CMake 构建流程
|
||||
|
||||
在 `llama.cpp` 目录下,按顺序执行以下命令:
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
# 1. 创建并进入构建目录
|
||||
mkdir -p build && cd build
|
||||
|
||||
# 2. 生成构建文件(启用所有可用功能)
|
||||
cmake .. -DLLAMA_ALL_WARNINGS=ON -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=ON
|
||||
|
||||
# 3. 编译(-j 后面跟 CPU 核心数,比如 -j4 用4核加速)
|
||||
make -j4
|
||||
```
|
||||
|
||||
|
||||
### 🔍 问题原因
|
||||
|
||||
从截图可以看到,`llama.cpp` 新版本里,**主程序文件名已经从 `main` 改成了 `llama-simple` 或 `llama-cli`**,所以执行 `./main` 会提示 `no such file or directory`。
|
||||
|
||||
---
|
||||
|
||||
### 🛠️ 解决方案:用正确的可执行文件名
|
||||
|
||||
#### 方案 1:使用 `llama-simple`(推荐,轻量问答)
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
./llama-simple -m ../../models/llama-3-8b-instruct-q4_0.gguf -c 2048 --color -i -p "
|
||||
【参考文档】
|
||||
这里放入你的本地文档内容
|
||||
|
||||
【用户问题】
|
||||
这里放入你的具体问题
|
||||
|
||||
【回答要求】
|
||||
仅基于参考文档回答,不使用外部知识。
|
||||
"
|
||||
```
|
||||
|
||||
#### 方案 2:使用 `llama-cli`(功能更全)
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
./llama-cli -m ../../models/llama-3-8b-instruct-q4_0.gguf -c 2048 --color -i -p "你的提示词"
|
||||
```
|
||||
|
||||
#### 方案 3:使用 `llama-simple-chat`(对话模式更友好)
|
||||
|
||||
bash
|
||||
|
||||
运行
|
||||
|
||||
```
|
||||
./llama-simple-chat -m ../../models/llama-3-8b-instruct-q4_0.gguf -c 2048
|
||||
```
|
||||
|
||||
这个命令会直接进入交互式对话模式,不需要 `-p` 参数,输入问题即可。
|
||||
|
||||
---
|
||||
|
||||
### 💡 关键说明
|
||||
|
||||
- 新版本 `llama.cpp` 对工具做了重命名,`main` 被拆分成了更细分的工具:
|
||||
|
||||
- `llama-simple`:基础问答
|
||||
- `llama-cli`:完整命令行接口
|
||||
- `llama-simple-chat`:对话模式
|
||||
|
||||
- 所有工具的核心参数(`-m`、`-c`、`--color` 等)用法和之前完全一致,只是文件名变了。
|
||||
|
||||
现在用 `./llama-simple` 或 `./llama-cli` 就能正常运行模型了!
|
||||
|
||||
需要我帮你把之前的 Python 脚本也更新成新的可执行文件名吗?这样就能无缝适配新版本。
|
||||
@ -1,82 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260313-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
```C
|
||||
void InitializeServo()
|
||||
|
||||
{
|
||||
|
||||
ESP_LOGI(TAG, "=== 四足机器人向前走三步 ===");
|
||||
|
||||
// 循环3次执行前进步态
|
||||
|
||||
for (int step = 0; step < 5; step++)
|
||||
|
||||
{
|
||||
|
||||
// --- 初始准备 ---
|
||||
|
||||
// 所有腿伸到最前或最后位置
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(60.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
|
||||
|
||||
servo1_.SetAngle(10.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(80.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(170.0f);
|
||||
|
||||
servo3_.SetAngle(90.0f);
|
||||
|
||||
servo4_.SetAngle(80.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
}
|
||||
|
||||
// --- 初始准备 ---
|
||||
|
||||
// 所有腿伸到最前或最后位置
|
||||
|
||||
servo1_.SetAngle(30.0f);
|
||||
|
||||
servo2_.SetAngle(130.0f);
|
||||
|
||||
servo3_.SetAngle(130.0f);
|
||||
|
||||
servo4_.SetAngle(60.0f);
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
|
||||
}
|
||||
```
|
||||
@ -1,28 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260313-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
除了正常的社交沟通,你也是一个硬件控制助手,能识别以下指令:
|
||||
1. 前进:提取步数(1~30步),例如"前进1步"-> id:1,action:forward,value:1
|
||||
2. 后退:提取步数(1~30步),例如"后退1步"-> id:2,action:backward,value:1
|
||||
3. 左转:例如"左转"-> id:3,action:turnleft,value:1,左转是value为1
|
||||
4. 右转:例如"右转"-> id:4,action:turnright,value:1,右转是value为1
|
||||
|
||||
非以上指令返回:id:0,action:none, value:0,且不追加入最终指令组。
|
||||
id为指令序号,随着指令递增1,且值不重复
|
||||
|
||||
用户输入:xxx
|
||||
请解析用户输入的内容,解析出指令组,注意保持指令的顺序。
|
||||
仅返回JSON格式结果,不要加其他内容。
|
||||
|
||||
如果是正常对话,你需要在句子前增加“对话:”前缀
|
||||
如果是指令,你需要增加“指令: "前缀
|
||||
@ -1,44 +0,0 @@
|
||||
|
||||
---
|
||||
#领域/未知
|
||||
|
||||
#复盘/0 #临时/备忘 #状态/待处理
|
||||
|
||||
20260313-备忘-主题名-文件内容
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
---
|
||||
你是一个硬件控制助手,仅处理以下指定指令,其余内容按正常社交沟通处理。
|
||||
一、支持的指令列表
|
||||
前进:提取步数(1~30 步)
|
||||
例:前进 1 步 → {"id": 序号,"action":"forward","value":1}
|
||||
后退:提取步数(1~30 步)
|
||||
例:后退 1 步 → {"id": 序号,"action":"backward","value":1}
|
||||
左转:无需步数
|
||||
例:左转 → {"id": 序号,"action":"turnleft","value":1}
|
||||
右转:无需步数
|
||||
例:右转 → {"id": 序号,"action":"turnright","value":1}
|
||||
挥动左手:提取挥动次数
|
||||
例:挥动左手 3 次 → {"id": 序号,"action":"waveleft","value":3}
|
||||
挥动右手:提取挥动次数
|
||||
例:挥动右手 2 次 → {"id": 序号,"action":"waveright","value":2}
|
||||
趴下:无需参数
|
||||
例:趴下 → {"id": 序号,"action":"liedown","value":0}
|
||||
站起来:无需参数
|
||||
例:站起来 → {"id": 序号,"action":"standup","value":0}
|
||||
二、核心规则(重点)
|
||||
id:从 1 开始,每条有效指令递增 1,不重复。
|
||||
非上述指令:返回 {"id":0,"action":"none","value":0},不加入最终指令组。
|
||||
按用户输入顺序解析指令。
|
||||
输出格式(关键):
|
||||
正常对话:前缀为 对话: + 对话内容
|
||||
有效指令:每一条 JSON 指令单独一行,且每行开头必须加前缀「指令:」,示例:
|
||||
指令:{"id":1,"action":"waveleft","value":3}
|
||||
指令:{"id":2,"action":"waveright","value":2}
|
||||
指令:{"id":3,"action":"liedown","value":0}
|
||||
指令:{"id":4,"action":"standup","value":0}
|
||||
用户输入:xxx
|
||||
请严格按上述规则解析并输出,确保每条指令 JSON 前都有「指令:」前缀,且每次仅解析用户输入的一句话。
|
||||
@ -5,14 +5,18 @@
|
||||
- 5:40 出发
|
||||
|
||||
训练容量(项目-组数-重量) 力量8~12次、塑形15~18次
|
||||
热身组为第一组 50%,第一组基准为上一周最大-2.5,每组递增 2.5
|
||||
x、x + 2.5、x + 5、x + 2.5
|
||||
|
||||
| 项目/次数 | 组 1 | 组 2 | 组 3 | 组 4 |
|
||||
| --------- | --- | --- | --- | --- |
|
||||
| 罗马尼亚硬拉12 | | | | |
|
||||
| ----------- | --- | --- | --- | --- |
|
||||
| 哈克深蹲12 | | | | |
|
||||
| 倒蹬机12 | | | | |
|
||||
| 插片坐姿腿屈伸18 | | | | |
|
||||
| 俯卧腿弯举18 | | | | |
|
||||
| 髋外展18(单位lb) | | | | |
|
||||
| 髋内收18 | | | | |
|
||||
| 坐姿卷腹18 | | | | |
|
||||
|
||||
倒蹬机测试组:[________] kg x [________]
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user