본문으로 건너뛰기
이 아티클은 AI를 사용하여 일본어에서 번역되었습니다
일본어로 읽기
이 아티클은 퍼블릭 도메인(CC0)입니다. 자유롭게 사용하십시오. CC0 1.0 Universal

인공 학습 지능 시스템: ALIS 개념

여기서는 인공 학습 지능 시스템(Artificial Learning Intelligence System: ALIS)에 대해 그 개념과 원리부터 기본 설계 및 개발 방법에 이르기까지 정리하고자 합니다.

개념

현재의 생성형 AI, 주로 대규모 언어 모델은 신경망을 사용한 지도 학습을 기반으로 훈련됩니다.

우리는 이러한 신경망 훈련 과정을 선천적 학습으로 간주합니다.

ALIS는 선천적 학습과 별개로 후천적 학습 과정을 통합하여, 선천적 학습과 후천적 학습 과정을 모두 아우르는 추론을 가능하게 하는 시스템입니다.

이 후천적 학습에서는 학습된 지식이 신경망 외부에 저장되고 추론 과정에서 활용됩니다.

따라서 ALIS의 기술적 핵심은 재사용 가능한 지식의 추출, 저장, 그리고 추론 시 지식의 선택 및 활용에 있습니다.

나아가 ALIS는 단순한 단일 요소 기술이 아니라 선천적 학습과 후천적 학습을 결합한 시스템 기술이기도 합니다.

학습 지능 시스템의 요소

ALIS는 기존의 선천적 학습과 앞으로 고려할 후천적 학습을 학습 및 추론의 틀 안에서 동일한 원리로 작동하는 것으로 취급합니다.

ALIS에서의 학습 원리를 설명하기 위해 학습 지능 시스템의 다섯 가지 요소를 정의합니다.

첫 번째는 지능형 프로세서입니다. 이는 지식을 사용하여 추론을 수행하고 학습을 위한 지식을 추출하는 처리 시스템을 의미합니다.

지능형 프로세서의 대표적인 예로는 LLM과 인간 두뇌의 일부가 있습니다.

두 번째는 지식 저장소입니다. 이는 추출된 지식을 저장하고 필요할 때 검색할 수 있는 저장 위치를 의미합니다.

LLM에서 지식 저장소는 신경망의 매개변수입니다. 인간의 경우 뇌의 장기 기억에 해당합니다.

세 번째는 세계입니다. 이는 인간이나 ALIS와 같은 학습 지능 시스템이 인지하는 외부 환경을 의미합니다.

인간에게 세계는 현실 그 자체입니다. LLM의 경우, LLM으로부터 출력을 받아 LLM에 피드백을 제공하는 메커니즘이 세계에 해당한다고 간주됩니다.

네 번째는 상태 메모리입니다. 이는 학습 지능 시스템이 추론 중에 사용하는 스크래치패드와 같은 내부 임시 메모리를 의미합니다.

LLM에서 이는 은닉 상태로 알려진 추론 중에 사용되는 메모리 공간입니다. 인간의 경우 단기 기억에 해당합니다.

다섯 번째는 프레임워크입니다. 이는 소위 사고의 틀입니다. 학습 지능 시스템의 용어로는 추론 시 필요한 지식을 선택하는 기준과 상태 메모리를 구성하기 위한 논리적 상태 공간 구조를 의미합니다.

LLM에서 이는 은닉 상태의 의미 구조이며, 일반적으로 그 내용은 모호하고 인간이 이해하기 어렵습니다. 또한, 지식 선택은 어텐션 메커니즘에 통합되어, 처리 중인 각 토큰에 대해 기존 토큰 중 어떤 것을 참조할지 선택합니다.

인간의 경우, 앞서 언급했듯이 사고의 틀입니다. 특정 사고의 틀을 사용하여 사고할 때, 장기 기억에서 특정 노하우 세트가 호출되어 단기 기억에 로드됩니다. 그런 다음 현재 인지된 정보가 사고의 틀에 따라 구성되어 상황을 이해하게 됩니다.

학습 지능 시스템의 원리

학습 지능 시스템은 다음과 같이 작동합니다:

지능형 프로세서가 세계에 작용합니다. 세계는 그 작용에 기반한 결과를 반환합니다.

지능형 프로세서는 이 결과로부터 재사용 가능한 지식을 추출하여 지식 저장소에 저장합니다.

지능형 프로세서가 세계에 반복적으로 작용할 때, 지식 저장소에서 지식을 선택하고 이를 활용하여 작용 방식을 변경합니다.

이것이 기본 메커니즘입니다.

그러나 근본적으로, 지식 추출, 저장, 선택 및 활용 방법이 시스템이 의미 있는 학습을 달성할 수 있는지 여부를 결정합니다.

인간은 효과적인 지식 추출, 저장, 선택 및 활용을 가능하게 하는 메커니즘을 가지고 있어 학습할 수 있습니다.

LLM을 포함한 신경망은 추출 부분이 외부 교사에 의해 처리되지만, 저장, 선택 및 활용 메커니즘을 가지고 있습니다. 이는 교사가 입력을 제공하는 한 학습할 수 있도록 합니다.

또한, 학습 지능 시스템은 프레임워크의 추출, 저장, 선택 및 상태 메모리에서의 활용 방법을 지식으로 학습함으로써 더 복잡한 학습을 달성할 수 있습니다.

지식의 종류

이러한 원칙에 따라 후천적 학습을 설계할 때, 후천적 지식이 어떤 형태의 정보를 가질 것인지 명확히 할 필요가 있습니다.

후천적 지식도 신경망의 매개변수로 별도로 학습하는 것을 생각할 수 있습니다.

그러나 후천적 지식이 신경망 매개변수에만 국한될 필요는 없습니다. 현실적인 후보는 자연어로 텍스트화된 지식입니다.

자연어로 텍스트화된 지식이라면, LLM의 자연어 처리 능력을 활용하여 추출하고 활용할 수 있습니다. 또한, 일반 IT 시스템의 데이터로 취급할 수 있어 저장 및 선택이 용이합니다.

더욱이 자연어로 텍스트화된 지식은 인간이나 다른 LLM이 내용을 확인하고 이해하기 쉬우며, 경우에 따라 편집도 가능합니다.

다른 학습 지능 시스템과 공유하거나 병합 및 분할도 가능합니다.

이러한 이유로 ALIS 개념의 후천적 지식은 초기에는 자연어로 텍스트화된 지식을 목표로 설계될 것입니다.

후천적 상태 메모리 및 프레임워크

후천적 지식으로 자연어 텍스트화된 지식을 선택하는 이점에 대해 설명했습니다.

마찬가지로, 추론을 위한 상태 메모리 및 프레임워크에도 자연어 텍스트를 사용할 수 있습니다.

개념적 구조인 프레임워크도 자연어 텍스트화된 지식으로 지식 저장소에 저장하고 활용할 수 있습니다.

해당 프레임워크로 정의된 구조에 기반하여 상태를 초기화하거나 업데이트할 때 텍스트 기반 상태 메모리를 사용할 수 있습니다.

ALIS를 후천적 지식뿐만 아니라 프레임워크 및 상태 메모리에도 텍스트 형식을 사용하도록 설계함으로써, ALIS는 후천적 학습과 일반 추론 모두에 LLM의 자연어 처리 능력을 활용할 수 있습니다.

형식 지식

후천적 지식, 프레임워크, 상태 메모리는 자연어 텍스트뿐만 아니라 더 엄격한 형식 언어나 형식 모델로도 표현될 수 있습니다.

"선택"이라고 썼지만, ALIS의 목표는 선천적 학습과 후천적 학습을 하이브리드로 활용할 수 있도록 여러 후천적 지식 학습 메커니즘을 통합하는 것입니다.

형식 언어나 형식 모델로 표현된 지식은 더욱 엄격하고 모호함이 없습니다.

나아가, 프레임워크가 형식 언어나 형식 모델을 사용하여 표현되고, 초기 상태가 상태 메모리에서 확장된다면, 지능형 프로세서(LLM이 아닌)가 형식 모델을 처리하여 엄격한 시뮬레이션과 논리적 추론을 수행할 수 있습니다.

이러한 형식 언어 및 형식 모델의 대표적인 예는 프로그래밍 언어입니다.

시스템이 세계에 대해 학습하면서, 그 밑바탕에 있는 법칙과 개념을 프레임워크 내에서 프로그램으로 표현할 수 있다면, 이를 컴퓨터로 시뮬레이션할 수 있습니다.

칼럼 1: 지식의 종류

학습 지능 시스템 내의 지식을 정리하다 보면, 크게 세 가지 시스템과 두 가지 유형으로 분류할 수 있음을 알 수 있습니다.

세 가지 시스템은 다음과 같습니다: 신경망이 처리하는 네트워크 매개변수 지식, 자연어 형식의 자연 지식, 형식 언어 형식의 형식 지식.

두 가지 유형은 무상태(stateless)와 상태성(stateful)입니다.

무상태 네트워크 매개변수 지식은 딥러닝 AI에서 볼 수 있는 직관적인 지식과 같습니다. 말로 생각하거나 식별할 수 없는 고양이와 개의 특징은 무상태 네트워크 매개변수 지식으로 학습될 수 있습니다.

상태성 네트워크 매개변수 지식은 생성형 AI에서 볼 수 있는 퍼지하고 반복적인 프로세스에서 파생된 지식과 같습니다.

무상태 자연 지식은 단어와 관련된 의미와 같은 지식입니다.

상태성 자연 지식은 문장 내에서 발견되는 맥락을 포함하는 지식입니다.

일부 자연 지식은 본질적으로 상태성 네트워크 매개변수 지식에 포함되어 있지만, 자연어 텍스트에서 후천적으로 습득할 수 있는 지식도 있습니다.

무상태 형식 지식은 반복을 포함하지 않는 수학적 공식으로 표현될 수 있는 지식입니다. 상태성 형식 지식은 프로그램으로 표현될 수 있는 지식입니다.

자신의 뇌의 단기 기억도 자연 및 형식 지식을 위한 상태 메모리로 사용될 수 있습니다.

그러나 단기 기억이므로 상태를 안정적으로 유지하기 어렵다는 문제가 있습니다. 또한, 형식화되고 모호하지 않은 상태로 지식을 유지하는 데 능숙하지 않습니다.

반면에 종이, 컴퓨터 또는 스마트폰은 자연어 텍스트, 형식 언어 또는 형식 모델을 기록하고 편집하기 위한 상태 메모리로 사용될 수 있습니다.

일반적으로 종이나 컴퓨터의 데이터는 지식을 저장하기 위한 지식 저장소로 인식되는 경우가 많지만, 생각을 정리하기 위한 상태 메모리로도 사용될 수 있습니다.

따라서 인간은 이러한 세 가지 시스템과 두 가지 유형의 지식을 능숙하게 활용하여 지적 활동을 수행하고 있음이 분명합니다.

ALIS 또한 이러한 동일한 세 가지 시스템과 두 가지 유형의 지식을 활용하는 지적 활동을 가능하게 하고 향상시킴으로써 그 능력을 극적으로 향상시킬 잠재력을 가지고 있습니다.

특히 ALIS는 방대한 지식 저장소와 상태 메모리를 활용할 수 있다는 강점을 가지고 있습니다. 나아가 각각의 여러 인스턴스를 쉽게 준비하고 이를 전환하거나 조합하여 지적 작업을 수행할 수 있습니다.

칼럼 2: 지적 오케스트레이션

지식 저장소에 많은 양의 지식을 저장할 수 있다는 강점은 있지만, 생성형 AI가 한 번에 사용할 수 있는 토큰 수의 제한과 관련 없는 지식이 노이즈가 된다는 제약 때문에 단순히 지식의 양이 많다고 해서 지적 활동에 반드시 유리한 것은 아닙니다.

반면에, 지식 저장소를 적절히 분할하고 특정 지적 작업에 필요한 지식을 모아 고밀도의 전문 지식 저장소를 생성함으로써, 토큰 제한과 노이즈 문제를 완화할 수 있습니다.

대신, 이러한 전문 지식 저장소는 해당 특정 지적 작업에만 사용될 수 있습니다.

많은 지적 활동은 다양한 지적 작업의 복합적인 조합으로 이루어집니다. 따라서 지식을 지적 작업 유형에 따라 전문 지식 저장소로 나누고, 지적 활동을 지적 작업으로 세분화함으로써 ALIS는 전문 지식 저장소 간을 적절히 전환하며 전체 지적 활동을 수행할 수 있습니다.

이는 각기 다른 악기를 연주하는 전문 음악가들로 구성된 오케스트라와 전체를 지휘하는 지휘자와 같습니다.

이러한 시스템 기술, 즉 "지적 오케스트레이션"을 통해 ALIS는 자신의 지적 활동을 조직화할 수 있게 될 것입니다.

ALIS 기본 설계 및 개발 방법

지금부터 ALIS의 개발 접근 방식을 정리하겠습니다.

원리와 칼럼에서 이미 언급했듯이, ALIS는 본질적으로 기능과 자원을 쉽게 확장할 수 있도록 설계되었습니다. 이는 ALIS의 본질이 특정 기능에 있는 것이 아니라, 지식 추출, 저장, 선택 및 활용 프로세스에 있기 때문입니다.

예를 들어, 여러 종류의 지식 추출 메커니즘을 준비하고, 시스템 설계에 따라 이들을 선택하거나 동시에 사용할 수 있습니다.

더 나아가, ALIS 스스로 이러한 선택을 수행하도록 만들 수도 있습니다.

저장, 선택, 활용 또한 유사하게 자유롭게 선택하거나 병렬화할 수 있습니다.

따라서 ALIS는 전체 기능을 워터폴 방식으로 설계할 필요 없이, 점진적이고 애자일하게 개발될 수 있습니다.

ALIS의 시작

이제 아주 간단한 ALIS를 설계해 보겠습니다.

기본 UI는 익숙한 채팅 AI가 될 것입니다. 초기에는 사용자 입력을 LLM에 직접 전달합니다. 그런 다음 LLM의 응답이 UI에 표시되고 시스템은 다음 사용자 입력을 기다립니다.

다음 입력이 도착하면 LLM은 새로운 입력뿐만 아니라 사용자-LLM 간의 지금까지의 전체 채팅 기록을 받게 됩니다.

이 채팅 AI UI 뒤에 채팅 기록에서 재사용 가능한 지식을 추출하는 메커니즘을 준비할 것입니다.

이것은 대화가 끝나는 시점이나 정기적인 간격으로 실행되는 프로세스로 채팅 AI 시스템에 추가될 수 있습니다. 물론 지식 추출에는 LLM이 사용될 것입니다.

이 LLM에는 ALIS 개념과 원리, 그리고 지식 추출 노하우가 시스템 프롬프트로 제공될 것입니다. 지식이 의도대로 추출되지 않으면 시행착오를 통해 시스템 프롬프트를 개선해야 합니다.

채팅 기록에서 추출된 지식은 지식 레이크에 직접 저장될 것입니다. 지식 레이크는 구조화되기 전에 지식을 평평하고 비정형적인 상태로 단순히 저장하는 메커니즘입니다.

다음으로, 지식 레이크에서 지식을 더 쉽게 선택할 수 있도록 구조화 메커니즘을 준비할 것입니다.

이는 일반적으로 RAG에서 사용되는 의미론적 검색을 위한 임베딩 벡터 저장소와 키워드 인덱스 등을 제공하는 것을 의미합니다.

더 고급 옵션으로는 지식 그래프 생성이나 카테고리 분류 수행 등이 있습니다.

지식 레이크를 위한 이러한 구조화된 정보의 집합을 지식 베이스라고 부를 것입니다. 이 전체 지식 베이스와 지식 레이크가 지식 저장소를 구성할 것입니다.

다음으로, 지식 저장소를 채팅 UI 처리에 통합할 것입니다.

이것은 기본적으로 일반적인 RAG 메커니즘과 동일합니다. 사용자 입력에 대해 관련 지식이 지식 저장소에서 선택되어 사용자 입력과 함께 LLM에 전달됩니다.

이를 통해 LLM은 사용자 입력을 처리할 때 지식을 자동으로 활용할 수 있습니다.

이러한 방식으로 사용자와의 각 대화마다 지식이 축적되어, 과거 대화에서 축적된 지식을 사용하는 간단한 ALIS가 실현될 것입니다.

간단한 시나리오

예를 들어, 사용자가 이 간단한 ALIS를 사용하여 웹 애플리케이션을 개발하는 시나리오를 상상해 보세요.

사용자는 LLM이 제안한 코드에서 오류가 발생했다고 보고합니다. 사용자와 LLM이 협력하여 문제 해결을 진행한 결과, LLM이 알고 있던 외부 API 사양이 오래되었음을 발견하고, 최신 API 사양에 맞춰 프로그램을 수정하자 올바르게 작동하게 됩니다.

이러한 채팅 스레드로부터 ALIS는 지식 저장소에 다음과 같은 지식을 축적할 수 있습니다: 구체적으로, LLM이 알고 있는 API 사양이 오래되었으며, 최신 API 사양이 무엇인지.

그러면 다음에 동일한 API를 사용하는 프로그램을 생성할 때, ALIS는 이 지식을 활용하여 처음부터 최신 API 사양에 기반한 프로그램을 생성할 수 있을 것입니다.

초기 ALIS 개선 사항

그러나 이렇게 되려면 이 지식이 사용자 입력에 대한 응답으로 선택되어야 합니다. 문제가 된 API 이름이 사용자 입력에 나타나지 않을 수 있으므로, 이 지식이 사용자 입력과 직접적으로 연결되지 않을 수도 있습니다.

이 경우, API 이름은 LLM의 응답 중에 비로소 나타날 것입니다.

따라서 우리는 간단한 ALIS를 약간 확장하여 사전 분석 및 사후 검사 메커니즘을 추가할 것입니다.

사전 분석은 최근 LLM의 "사고 모드"와 유사합니다. 텍스트를 상태 메모리로 저장할 수 있는 메모리가 준비되며, 시스템 프롬프트는 LLM에게 사용자 입력을 받으면 사전 분석을 수행하도록 지시할 것입니다.

LLM의 사전 분석 결과는 상태 메모리에 저장됩니다. 이 사전 분석 결과를 기반으로 지식 저장소에서 지식이 선택될 것입니다.

그런 다음 채팅 기록, 사전 분석 결과, 사용자 입력에 해당하는 지식, 그리고 사전 분석 결과에 해당하는 지식이 LLM에 전달되어 응답을 받게 됩니다.

또한, LLM이 반환한 결과는 지식 저장소에서 지식을 검색하는 데에도 사용될 것입니다. 거기서 발견된 지식을 포함하여, LLM에게 사후 검사를 수행하도록 요청할 것입니다.

문제가 발견되면, 문제점과 지적 이유가 포함되어 채팅 LLM으로 다시 전달될 것입니다.

사전 분석 및 사후 검사 시 지식을 선택할 기회를 제공함으로써, 축적된 지식을 활용할 가능성을 높일 수 있습니다.

전망

이처럼 초기 ALIS를 구축하고 그 약점을 보완하기 위한 개선을 추가하는 접근 방식은 애자일 개발과 ALIS의 점진적 개선을 완벽하게 보여줍니다.

더욱이 예시에서 보여주듯이, 초기 ALIS는 소프트웨어 개발에 가장 적합합니다. 이는 수요가 높은 분야이면서도 지식을 명확하게 쉽게 축적할 수 있는 분야이기 때문입니다.

명확히 흑백을 가릴 수 있는 분야이면서도, 시행착오와 반복적인 지식 축적이 필요하고 중요한 핵심 분야이기도 합니다.

또한, ALIS 개발 자체가 소프트웨어 개발이므로, ALIS 개발자가 ALIS 사용자 스스로가 될 수 있다는 점도 매력적입니다.

그리고 ALIS 시스템과 함께 지식 레이크도 GitHub와 같은 플랫폼에서 공개적으로 공유될 수 있습니다.

이를 통해 많은 사람들이 ALIS 시스템 개선 및 지식 축적에 협력할 수 있으며, 모두가 그 결과의 혜택을 누려 ALIS 개발이 더욱 가속화될 것입니다.

물론 지식 공유는 ALIS 개발자에 국한되지 않고, ALIS를 사용하는 모든 소프트웨어 개발자로부터 수집될 수 있습니다.

지식이 자연어라는 사실은 두 가지 추가적인 이점을 제공합니다.

첫 번째 이점은 LLM 모델이 변경되거나 업데이트될 때에도 지식이 활용될 수 있다는 것입니다.

두 번째 이점은 방대하게 축적된 지식 레이크를 LLM의 사전 훈련 데이터셋으로 사용할 수 있다는 것입니다. 이는 미세 조정을 위해 사용하거나, LLM 사전 훈련 자체에 사용하는 두 가지 방법으로 가능합니다.

어떤 경우든, 지식 레이크에 축적된 지식을 선천적으로 학습한 LLM이 활용될 수 있다면 소프트웨어 개발은 더욱 효율적이 될 것입니다.

또한 소프트웨어 개발 내에는 요구사항 분석, 설계, 구현, 테스트, 운영, 유지보수와 같은 다양한 프로세스가 있으며, 각 소프트웨어 도메인과 플랫폼별로 전문 지식이 존재합니다. 이러한 관점에서 방대하게 축적된 지식을 분할하는 메커니즘이 만들어진다면, ALIS 오케스트라 또한 형성될 수 있습니다.

따라서 ALIS를 위한 요소 기술은 갖추어져 있습니다. 이제 핵심은 지식 추출 노하우, 적절한 지식 선택, 전문 지식 세분화, 상태 메모리 활용 방법 등 다양한 방법을 실질적으로 시도하여 효과적인 접근 방식을 발견하는 것입니다. 또한, 복잡성이 증가함에 따라 처리 시간과 LLM 사용 비용이 증가할 것이므로 최적화가 필요합니다.

이러한 시행착오 및 최적화 프로세스는 프레임워크의 개발 및 개선을 통해 적응적으로 추구할 수 있습니다.

초기에는 개발자들이 사용자로서 시행착오를 거치며 ALIS에 프레임워크를 통합할 가능성이 높습니다. 그러나 그 때에도 LLM 자체를 프레임워크 아이디어를 생성하도록 만들 수 있습니다.

그리고 세계로부터 받은 결과와 추출된 지식을 기반으로 프레임워크를 개선하거나 발견하는 프레임워크를 ALIS에 통합함으로써, ALIS 자체가 적응적으로 시행착오와 최적화를 수행하게 될 것입니다.

현실 세계의 ALIS

ALIS가 이 단계까지 정교해지면, 소프트웨어 개발 분야뿐만 아니라 다양한 영역에서 지식을 학습할 수 있게 될 것입니다.

소프트웨어 개발과 마찬가지로, ALIS는 인간이 컴퓨터를 사용하여 수행하는 다양한 지적 활동으로 그 범위를 확장할 것으로 예상됩니다.

이러한 순수 지적 활동에서도 ALIS는 대상 세계에 대해 일종의 신체화된 AI(embodied AI)적 성격을 가집니다.

이는 자신과 세계 사이의 경계를 인식하고, 그 경계를 통해 세계에 작용하며, 세계로부터 받은 정보를 지각할 수 있기 때문입니다.

우리가 일반적으로 "신체"라고 부르는 것은 물리적으로 눈에 보이고 한곳에 국한된 세계와의 경계입니다.

그러나 경계가 눈에 보이지 않고 공간적으로 분산되어 있더라도, 경계를 통한 지각과 작용의 구조는 물리적인 신체를 가진 것과 동일합니다.

그런 의미에서 ALIS는 지적 활동을 수행할 때 가상적으로 신체화된 AI의 성격을 가진다고 볼 수 있습니다.

그리고 ALIS가 새롭고 미지의 세계에서도 적절하게 학습할 수 있는 단계까지 정교해지면, ALIS는 물리적 신체를 가진 실제 신체화된 AI의 일부로 통합될 가능성이 있습니다.

이러한 방식으로 ALIS는 궁극적으로 현실 세계에 적용되어 현실 세계로부터 학습을 시작할 것입니다.