Розумеўце памяці ШІ: контэкст, эмбеддынги, тэхналогія RAG і параметры моделей — поясненне.
У гэтай статыце детальная распаведка таго, як системы ШІ насправдзе запам’ячваюць інформацыю, з урахоўванням вікна контэксту, эмбеддынгаў, баз дадзеных вектароў, тэхналогіі RAG і параметраў моделей.
Картынка, яка паказвае размову з ШІ сёння:
"Я ствараю проект з машыннага навчання."
Потым, наступнага дзяўны, вы падтрымліваеце размову:
"Што мне трэба паспрабаваць падняць у своем проекте?"
Чы вы прыпускаеце, што ШІ запамятае тое, што вы яму раней сказалі?
Іноды так і ёст.
Іноды — ні.
А іноды ён запамятае частку размовы, а іншую частку заспамінае цэлком.
Это паднімае цікавы вопыт:
Што на самай працо дазволяе системе ШІ запамятаць калі-небудзь?
Праўдзівая адказа ёсць болей нюансаваная, чым проста сказаць:
"У ШІ ёсць памяць."
Сучасныя системы ШІ выкарыстоўваюць кальколькі разных механізмаў для зберагчэння інфармацыі, такіх як вікна контэксту, стан размовы, зовнішня памяць, системы адзысквання, базы дадзэных і сабе параметры моделі.
Розумэнне эых механізмаў дапамагае з’ясаваць, што робіць сучасныя ШІ здатнымі, і дзе насправды ляжу ўсе ўскладнення.
1. Першыя неспадзянанні: LLM не памятае ўсё автаматычна
Размова з мовнойю модэллю можа стварыць вражанне, што вы размовляеце з камп’ютерам, які мае постаячую памяць пра вас.
Напрыклад:
You:
My project is about crop disease detection.
AI:
That's interesting. You can use computer vision...
Пазней:
You:
What model should I use?
AI:
For crop disease images, a vision model could be appropriate.
Здаецца, што ШІ запісваў тое, што вы сказалі.
Але шта насправды вадзіцца пад капотам?
Паспяшнае раз’ясненне залежыць ад таго, звядзе насправды прыходзіць гэтая інфармацыя.
Це можа быць:
- яшчэ застаецца ў контексте актыўнай розмовы
- зберагаецца ў спецыяльной системе памяці
- заўозится з зовнішняга источніка
- працоўна включаецца ў параметры модэля, навучанага праз трэніраванне
- паўтарна вводзится корыстнікам без вашага адчування
Это фундаментальна разныя механізмы, хоць канечны рэзультат можа выглядаць ідэнтычна.
2. Памяць не ўсё роўна знання
Этае разлікі маюць вельмі важлівы значэнне.
Модэль можа знаць адпаведзь на:
"Што такое CNN?"
Але гэта не гарантуе, што ён запамятае:
"Вы вжылі CNN у сваём проекте ў празыграны тыдзень."
Рассмотріце гэта так:
KNOWLEDGE
"What is a CNN?"
↓
Learned during training
MEMORY
"The user is working on a CNN project."
↓
Stored/retrieved from context or memory system
Знання адбівае тое, што модэль асваяў падчас трэніравання.
Памяць відбівае тую інфармацыю, яка ў даны момент доступна яй пра конкрэтнага пользователя, задачу, сяродавішча або трываючую взаімадзею.
3. Найпростейшыя формы памяці ШІ: контэкст
Найэлементарнейшым видам „памяці“ у рамках адной розмовы є контэкст.
Разглянем такі абмян:
User:
My dataset has 10,000 images.
AI:
Okay.User:
Should I use CNN?AI:
For 10,000 images, CNN could be...
Як ШІ ведае, на шта натыкаецца фраза „10 000 адпраўлень“?
Таму што паказы з ранейшых размов можна включыць у модель разам з новым паказам.
Канцэптуальна це выглядае так:
Previous messages
+
Current message
↓
Context
↓
LLM
↓
Response
Модель працуе з тым контэкстам, які ёй быў даўнейша, падчас стварэння свайго адпаведзення.
4. Але контэкст мае меры
Сюды і пачынаюцься сложнасці.
Модель не можа прыйняць безканечную колькасць тексту ў адной запытке.
Для гэтага існуе меры, якая называецца:
Кантэкстовая вікна
Уявіце це як загальную кантыят інфармацыі, яку модель можа аналізаваць за раз.
Канцэптуальна частка:
┌───────────────────────────────┐
│ CONTEXT WINDOW │
│ │
│ Previous messages │
│ Documents │
│ Instructions │
│ Current question │
│ Tool results │
│ │
└───────────────────────────────┘
Калі размова трывае достатнь час, ранейшыя часткі можуць быць прыгнуты, сконцэнзаваны або іншым спосабам стаць менш доступнымі, залежна ад таго, як система распрацоўвае переплненне.
Гэта адкрывае першую большую мерыю лімітавання памяці ШІ:
Кантэкст дзейсна ўжытковы, але ён не є безмежным.
5. Чы рахуецца кантэкст як справжняя память?
Не зовсім.
Уявіце, што хтось даў вам стос дакументаў прычымо да таго, як задае запитанне. Вы можетэ выкарыстоўваць гэтыя дакументы, каб адпаведзець, але гэта не значыць, што яны назаўсёды зафіксаваны ў вашай галаве.
Тая ж логіка прыменяецца і тут:
Context
=
Information currently available to the model
Натоўпная память, на адміну, працюе больш так:
Memory
=
Information stored for possible future retrieval
Гэта разліка мае вялікое значэнне, калі вы пачынаеце ствараць агентаў ШІ.
6. Кораткакалендарная памяць
Агент ШІ можа зберагчы інфармацыю, значныя для задачы, яю ён зараз выканае.
Возьмімо гэтыя інструкцыі як прыклад:
"З’явіце набор дадзеных, апрацаваце яго, аналізуйце і створыце звярненне."
Выканаючы задачу, агент можа фіксаваць свой прыбытак так:
Task:
Create dataset report
Completed:
✓ Downloaded dataset
✓ Removed duplicates
✓ Calculated statisticsRemaining:
□ Create graphs
□ Write report
Гэта супамінае кораткакалендарную рабочую памяць у людзей. Агент не намагаецца зберагчы все на вечнае — яму проста патрэбны деталі, значныя для завершэння текущай задачы.
7. Даўгакалендарная памяць
Тепер рассмотрзім ситуацыю, калі агенту патрэбна інфармацыя, якая будзе актуальная пасля завершэння текущай задачы.
Напрыклад:
"Для аналізу дадзейна я вярнюся да Python.
Система памяці можа зберагчы такі деталі, каб яны былі доступны пазней. Прыблізна:
Conversation
↓
Important Information
↓
Memory Store
↓
Future Conversation
↓
Retrieve Relevant Memory
↓
AI
Ключовыя слова тут ўсё ж такі:
Адпрацоўны.
Якша спроектаваная система памяці не должна запрашваць усё, што ў яе збераглена. Яна должна прадставляць толькі тое, што ўжо зараз неабходна для выканання задачы.
8. Как система выбірае правяпую памяць?
Сюды рэчы начынаюць стаўаць справжнімі цікавымі.
Сказаўмо, ў сховішчы памяці ёсць такія ентры:
Memory 1:
User likes Python.
Memory 2:
User is working on computer vision.Memory 3:
User built a website.Memory 4:
User is learning distributed systems.Memory 5:
User prefers dark UI designs.
Тады корыстнік запытае:
"Какі модэль мне выбраць для маю проекта з адпрацоўкай зображэнняў?"
Запрашванне ўсіх збераглых дадзейнаў было б марнатрапствам і непатрэбным. Система должна з’ясавіць, калкі з іх на самай працоўнае застосаванне.
Гэта самэйш той тип проблемы, якія створаны для рашэння за дапамою embeddings і vector search.
9. Чаму ж такое Embedding?
Embedding ператварае інфармацыю ў числовы вектор.
Канцэптуальна:
"My project uses image classification"
↓
Embedding Model
↓
[0.12, -0.73, 0.44, ...]
Адзінэк тэкставы элемент можа працаваць па той ж самы прынцып:
"Which model should I use for images?"
↓
Embedding Model
↓
[0.15, -0.69, 0.41, ...]
Якщо отрыманыя векторы будуць дастаткова близкія за дапамою будзь-яга методу сэмабільнасці, система можа спрыяваць іх як сувязаныя канцэпцыі.
Гэта дазволяе адзываць спамячанні на адваротнасці сэмантычнай сэмабільнасці, а не на абсалютных зусэльненнях ключоўых слоў.
10. Базы дадзеных вектораў
Калі у вас ёсць вялікі колькасць embeddings, ім патрэбна адпаведная супакоўка — зазвычай база дадзеных, створаная спецыяльна для vector search.
Канцэптуальна:
MEMORY
│
↓
Embeddings
│
↓
Vector Database
│
↑
User Query
│
↓
Query Embedding
│
↓
Similar Memories
Система адаптавання можа тад шукати спамяці, чыя эмбеддынгі знаходзяцца падалёк адзін ад другога ў тым вектарным прасторе.
Гэты механізм лягае в основу большай часткі таго, як сьогодні ствараюцца системы RAG і архітектуры спамяці.
11. RAG таксама ўжо сваеўразлік зовнішняя спамяць
Уявіце сабе компанію, якая мае 50 000 внутрашняях дакументаў.
Не будзе логічна включыць кожны з гэтых дакументаў безпосередна ў параметры модэлю, бо ўжо толькі змест вы кожны час зменяецца.
У замен дакументы праходзяць праз этап падготовкі:
Documents
↓
Chunking
↓
Embeddings
↓
Vector Database
І кожны раз, калі прыходзіць запит, система адбывае этап адыскавання прычын перш чым ствараць адпаведзенне:
Question
↓
Embedding
↓
Search
↓
Relevant Documents
↓
LLM
↓
Answer
Гэты патэрн вядомы як Retrieval-Augmented Generation, або RAG.
У зменшэньне запам’ятоввання всіх дакументаў, модель запошчае тую інфармацыю, якая ў цей момент неабходная.
12. Параметры моделі — гэта іншы вид памяці
Існуе ўсё жа іншы спосаб працавання з поняттам «памяць» у системе ШІ:
Вагі моделі.
Калі нейронная сетка трэнуецца, яна постаўляе мільйоны або нават міліярды числовых параметраў.
У загальных рисах:
Training Data
↓
Neural Network
↓
Parameter Updates
↓
Learned Weights
Этыя вагі ў канцэ настаўляюць кодаванне патэранаў, якія былі абраны падчас трэнавання.
Але гэта не тое ж сама, што матыць архіў з можлівасцю пошуку окремых фактов.
Зазвычай нельга запытаць модэль пра ўсё гэта:
"Пакажыце мне точнае рэчення, якое вы выучылі пра тэму X."
Усе, што яна знае, розпадзялена між трэнаванымі параметрамі, а не збераглена як доступны запис.
13. Тры разныя рэчы, якія мы часта называем «памятчуком»
У гэты момент цікава задача — адзельна разлічэнне трохоў разных ідэй:
1. Знання моделі
Храняцца косвенна ў параметрах моделі.
Training
↓
Weights
↓
Learned capabilities
2. Кантэкст
Будзь-яя інфармацыя, якая наразе падае ў модель.
Conversation
↓
Context Window
↓
LLM
3. Зовнішняя памятчук
Інфармацыя, якая застаецца цэлкам параду моделі.
Database
Vector Store
Files
Documents
User Memory
↓
Retrieval
↓
LLM
Разлічэнне гэтых трохоў дапамагае зрозумець багато аспектаў працы ШІ, якія інакш выглядаюць калічнымі.
14. Чаму ШІ можа «забыць»?
Спадзяймося, вы скажаце системе ШІ:
«Мой улюблены язык программавання — Python».
Пасля таго, калі размова трывае дзяўно, яна ніколі не прыгадвае гэты выбор.
Што сталося?
Можна выдвінуць калькія адказы:
Information no longer in active context
OR
Memory wasn't persisted
OR
Memory wasn't retrieved
OR
System chose not to use it
OR
The model misunderstood the reference
Калі ШЫЙНЯ АЙ здаецца, што забывае, гэта не павінна абавязкова быць схожая на забывчывага чалавека.
Прычыной можа быць нешта з такім:
зберагчыце, выкарыстоўванне інфармацыі, наявнасць контэксту або паведанне моделі.
15. АЙ-агенты ўсё болей патрабуюць памяці
Прыгадайце ранейшую дыскусію пра АЙ-агенты.
Агент зазвычай выконвае такія крокі:
Plan
↓
Action
↓
Observation
↓
Action
↓
Observation
Без якога-небудзь віда стойкага стану задачы, якія выкарыстоўваюць калькі крокаў, становяцца вельмі складнымі для керавання.
Разглядзім агента, які працуе над проектам практыкування програмавання.
Йому трэба стежыць за такімі речамі, як:
Which files changed?
What tests failed?
What has been completed?
What remains?
What errors occurred?
What decisions were made?
І самэ гэтая прычына, чаму налашоўкі памяці агента часта выглядаюць так:
AI AGENT
│
┌──────────┼──────────┐
↓ ↓ ↓
Context State Long-Term
Memory Memory
│ │ │
└──────────┼────────────┘
↓
Actions
16. Памяць не павінна застаўся без структуры
Не кожна інфармацыя, якая вартая запамятавання, павінна існаваць у вигуле свабоднага тексту.
Агент можа заместа таго выконваць структураваныя запісы, на прыклад:
Project:
AirStore
Language:
PythonFramework:
FastAPIDatabase:
SQLiteCurrent Phase:
Storage NodeKnown Issue:
Heartbeat timeout
Даныя, аранжаваныя такім чынам, набагато лёгкавей дашчуваць і адкорэгаваць пазней, чым шукаць іх сярод вялікага блока неструктураваных пераказоў.
Самэ гэтая прычына, чаму рэальныя AI-сістэмы рэдка калі паводзяцца толькі адним механізамам запамятовування. У замест на гэта яны зазвычай адразу выкарыстоўваюць калькі падходаў:
- базы даных
- структураваныя об’екты стану
- хранілішча вектароў
- історыю неструктураваных пераказоў
- створаныя статызы
17. Статызацыя як тэхніка запамятовування
Уявіце сабе пераказ, які складаецца з 100 000 слоў.
У замест на тое, каб спрыятаць кожны рэчык як аднакова важны, сістэма можа стиснуць гэтыя пераказы ў статызу.
Long Conversation
↓
Summarization
↓
Compact Memory
↓
Future Context
Як прыклад: замест таго, каб система зберагала 20 адзінаковых паведамленняў пра проект, яна могла бы проста зберагаць ў такім выглядзе:
"Пользователь працуе над системай на базе Python і FastAPI для зберагання данных між несумеснымі вузламі без падключэння да інтарнету, нараз прыгледваючы, як вузлы рэўіструюцца адны з іншымі та копіююць даны."
Такое падходжэнне зменшае колькасць інфармацыі, якая павінна перадавацца на кожным кроку.
Але стысненне таксама несе сваія рызыкі:
Што будзе, якшо ў процесе чагось важлівага зникне?
Чырваючы гэта, выбір спосабу адпаведальнага стыснення памяці сам по сабе ёсць нелёгкай інжынерной задачай.
18. У сваій сяродзе памяць — гэта можласць адчынення інфармацыі
Адна з болей тонкіх інсайтаў тут заключаецца ў тым, што памяць ШІ на самай працоўнай адзіне не стосуецца:
Зберагаецца абсалютна ўся інфармацыя.
Йдзе пра:
Зберагачыце тое, што ўжыткова, і выкарыстоўваеце праві элемент у правы момент.
Апроставаны спосаб выражэння гэтага:
M* = argmax over m in M of S(m, q)
дзе:
- M — цэлы набор зберажаных спогадоў
- q — текущы запит
- S(m, q) — рэйтинг адпаведнасці межу спогадам і запытам
- M* — спагад (або спагады), выбраныя як найболей адпаведныя
Проста кажучы:
Millions of memories
↓
Current question
↓
Relevance calculation
↓
Top useful memories
↓
AI
19. Нямаўце больш спагадоў не значыць, што вы розумнейшы
Гэты момент дужа важны.
Падазроўваючы, што адна система AI зберагае:
10,000 irrelevant facts
тады калі іншая зберагае толькі:
3 relevant facts
Калія з іх працюе краща на практыцы? Часта — другая.
Вялікі запасы нерелевантных зберагучыхся фактав насправдзе можа перасланіць на парадоксальныя наследкі для процесу выкарыстоўвання інфармацыі, а таксама непатрэбна займаць прастор для контексту.
Такім чынам, асалодныя звязкі выглядаюць так:
Корыстная памяць > Максымальная памяць
Мэтай не ёсць максымізаванне колькасці зберагучыхся дадзеных, а максымізаванне ўжоць релевантнасці таго, што зберагаецца.
20. Запамятовванне дадзеных выклікае прыбліжэння да прыватнасці
Калі система становіцца здатной запамятаваць деталі пра корыстніка, выйшла на перадак новая запитанне:
Дзе самэ працуе гэтая інфармацыя?
Патэнцыйна чулівыя дадзеныя могу распаўзціся па:
Conversation history
Databases
Vector stores
Application logs
Files
Caches
Гэтая рэальнасць прыносіць з сабой некалкі інжынерных выкарыстанняў:
- обмежэнне доступу
- шифраванне зберагучыхся дадзеных
- вызначэнне тэрмінах зберагачвання
- стварэнне механізмаў выдалення
- ведэнне журналаў аудыту
Без гэтых захоўнікаў система, якая памятае ўсё пра своіх корыстувачаў, може стаць справжнім абавесцю для прыватнасці.
21. Іспытанне памяці для персоналізавання адпаведзей
Памяць таксама робіць системы ШІ значна корыстнейшымі.
Спачатку ШІ вывучае, што вам зазвычай падабаецца:
Python
Simple explanations
Practical examples
Technical diagrams
Пасля чаго будучыя адпаведзі можна сформулюваць па ўзмаўленьню гэтых прыямоў.
Гэта не значыць, што сама асновная модель стала розумнейшай у всіх аспектах. Што болей:
General AI
+
Relevant User Context
↓
Personalized Interaction
Гэтае разлікаванне ў значныяй меры ўзрок таго, чаму памяць стала такім цэнным элементам у дизайне сучасных продуктав ШІ.
22. Чаго чакаць: ШІ, пабудаваны на калькі слоёў памяці
Развіты агент ШІ згодна часу зможа выкарыстоўваць такую комбінацыю:
AI AGENT
│
┌─────────────┼─────────────┐
↓ ↓ ↓
Working Memory Long-Term External
Memory Knowledge
↓ ↓ ↓
Current Task Preferences Documents
History Databases
Projects APIs
└─────────────┼─────────────┘
↓
Retrieval
↓
LLM
↓
Action
У працэ ўместа адной едынай „коробкі памяці“ гэта больш садзіцца як стакан разных слоёў памяці, якіе працуюць разам.
23. Чаму памяць ШІ не супадае з людскай памяцю
Людская памяць ўжо біялогічная. Яна дынамічная, асоцыятывальная і формуецца пад вплывам спрыяўлення, эмацый, павтарэння і безлічы іншых фактораў, якія взаімае дзейнуюць спосабамі, якія мы не можамо цалком зрозумець.
Памяць ШІ, на адміну, ствараецца па спецыяльным проекту.
Яна зазвычай выкарыстоўвае такія компаненты, як:
Tokens
Vectors
Databases
Indexes
Parameters
Summaries
Retrieval algorithms
Оба відзэлы памяці можу даўаць звучна схожыя рэзультаты, пры тым як яны функцыонуюць на абсалютна разных падставах.
Таму кожны час, калі хтось заявляе:
"ШІ памятае."
варта зупініцца і запытаць:
Какі механізм на самай працэ падае інформацыю?
24. Адгурументаванне всьго
Сучасную систему ШІ можна адмовіць так:
USER
│
↓
QUESTION
│
↓
┌──────────────────┐
│ AI / LLM │
└────────┬─────────┘
│
┌───────────────┼────────────────┐
↓ ↓ ↓
Context Memory RAG/Search
│ │ │
Conversation Vector DB Documents
Current Task Database Web/Data
│ │ │
└───────────────┼────────────────┘
↓
Relevant Context
↓
LLM
↓
Response
А калі у гэтым процесе берае участка агент, картіна становіцца ўсё бол шырокай:
Goal
↓
Retrieve Memory
↓
Plan
↓
Choose Tool
↓
Execute
↓
Observe
↓
Store Important Result
↓
Plan Again
↓
Finish
У такім случае памяць перестае быць пасывным сховішчам і становіцца актыўной часткай цыклу прынятка рашэнняў агентам.
Заключныя мыслі
Калі хтось кажа:
"ШІ памятае."
зазвычай не існуе адного, „чародзяйскага“ системы памяці, якая за гэта несе адпаведальнасць.
У замен зазвычай разам працуюць калькі слоёў:
Знанні модэлю + Контекст + Зовнішняя памяць + Адзыскванне інфармацыі
Параметры моделі зберагаюць шаблоны, выучаны пад час навчання. Вікна контэксту суплягаюць меркавай інфармацыі, якая ў тэчнасці доступная для моделі. Зовнішня памяць зберагае інфармацыю за межамі самай моделі. Процес выкарыстоўвання інфармацыі вяршыць выбор, якая з захаванай інфармацыі будзе адкарыстоўвана, калі яна практычна патрэбная.
Гэта ведае да цікавага вывару:
Будучыня памяці ШІ, верагатна, не будзе адносавацца да таго, каб моделі памяталі все.
Больш верагатна, што хацяца навучыць іх зберагаць тое, што мае значэнне, апусціць тое, што не мае, выкарыстоўваць інфармацыю у правы момант і адпаведна яе обрабоцаваць.
ШІ, якая можа зберагаць необмежаную памяць, але паслаба выкарыстоўвае яе, все равно будзе канфузуючай у выкарыстоўванні. Тая, якая мае рэштрыкована спроектаваную систему памяці, нават меньшую, можа выйсці значна корыстнейшай.
Таму справжній вопыт не ў тым:
"Скількі можа запам’ятаць ШІ?"
А ў тым:
"Можа ШІ прыгадаць правільную інфармацыю у правы час?"