liberal commited on
Update README.md
Browse files
README.md
CHANGED
|
@@ -1272,4 +1272,68 @@ async def main():
|
|
| 1272 |
logger.error(f"Unexpected error: {e}")
|
| 1273 |
|
| 1274 |
if __name__ == "__main__":
|
| 1275 |
-
asyncio.run(main()) ``` </pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1272 |
logger.error(f"Unexpected error: {e}")
|
| 1273 |
|
| 1274 |
if __name__ == "__main__":
|
| 1275 |
+
asyncio.run(main()) ``` </pre>
|
| 1276 |
+
|
| 1277 |
+
# LiberalMind version 1.5 – самая точная модель до 10B параметров, созданная в россии
|
| 1278 |
+
|
| 1279 |
+
🧠 Объяснимое обучение с критиком: GMPO
|
| 1280 |
+
Эта архитектура направлена на более объяснимое и структурированное рассуждение, используя обновления через RL с регуляризацией KL-дивергенцией и обратной связью от критика.
|
| 1281 |
+
|
| 1282 |
+
🔁 GMPO-пайплайн (структурированная политика)
|
| 1283 |
+
Обработка задачи проходит через 4 этапа:
|
| 1284 |
+
|
| 1285 |
+
G — Generate: модель генерирует черновой ответ
|
| 1286 |
+
|
| 1287 |
+
M — Match: проверяет соответствие логике и требованиям задачи
|
| 1288 |
+
|
| 1289 |
+
P — Plan: строит план исправлений
|
| 1290 |
+
|
| 1291 |
+
O — Optimize: применяет улучшения и формирует финальный ответ
|
| 1292 |
+
|
| 1293 |
+
Вся траектория {a₀, p, a*} считается развёрткой политики (policy rollout).
|
| 1294 |
+
|
| 1295 |
+
🧾 Модуль Критика (внешний оценщик)
|
| 1296 |
+
В отличие от классического GMPO, здесь используется Critic-модуль:
|
| 1297 |
+
|
| 1298 |
+
Даёт награду за корректность и качество рассуждений
|
| 1299 |
+
|
| 1300 |
+
Анализирует структуру плана и логическую связанность
|
| 1301 |
+
|
| 1302 |
+
Оценивает отклонение от старой политики (policy shift)
|
| 1303 |
+
|
| 1304 |
+
Возвращает метаданные: тип ошибки, качество плана, интуитивный разрыв
|
| 1305 |
+
|
| 1306 |
+
💡 Интуитивная оценка (Intuition Alignment)
|
| 1307 |
+
Вводится новый сигнал — интуиция:
|
| 1308 |
+
|
| 1309 |
+
Модель сама оценивает, насколько уверена в ответе (I_model ∈ [0,1])
|
| 1310 |
+
|
| 1311 |
+
Сравнивается с реальной наградой от критика → считается разрыв:
|
| 1312 |
+
ΔI = |I_model − r|
|
| 1313 |
+
|
| 1314 |
+
Цель — минимизировать ΔI, что помогает развить метапознание: "насколько хорошо я понимаю, что делаю?"
|
| 1315 |
+
|
| 1316 |
+
⚖️ Оптимизация политики с KL-дивергенцией
|
| 1317 |
+
Функция обучения:
|
| 1318 |
+
|
| 1319 |
+
L(θ) = Eₜ[π(τ)/π_old(τ) ⋅ r(τ) − β⋅D_KL[π(·|s) || π_old(·|s)]]
|
| 1320 |
+
|
| 1321 |
+
Где:
|
| 1322 |
+
|
| 1323 |
+
θ — параметры только LoRA-адаптеров
|
| 1324 |
+
|
| 1325 |
+
β — коэффициент KL-наказания
|
| 1326 |
+
|
| 1327 |
+
r(τ) — награда от критика
|
| 1328 |
+
|
| 1329 |
+
D_KL — сдерживает обновления, удерживая политику рядом с эталоном
|
| 1330 |
+
|
| 1331 |
+
🛠 Только LoRA-обновления
|
| 1332 |
+
Обновляются только LoRA-адаптеры
|
| 1333 |
+
|
| 1334 |
+
Основная модель остаётся замороженной
|
| 1335 |
+
|
| 1336 |
+
Это позволяет быстро и безопасно дообучать без потери уже обученных знаний.
|
| 1337 |
+
|
| 1338 |
+
|
| 1339 |
+
|