본문으로 건너뛰기
이 아티클은 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의 경우 이는 추론 중에 사용되는 메모리 공간인 은닉 상태(hidden states)입니다. 인간의 경우 단기 기억에 해당합니다.

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

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

인간의 경우 위에서 언급했듯이 사고의 틀입니다. 특정 프레임워크를 사용하여 사고할 때, 장기 기억에서 특정 노하우 집합이 호출되어 단기 기억에 로드됩니다. 그리고 현재 인지된 정보는 사고 프레임워크에 따라 정리되어 상황을 이해하게 됩니다.

학습 지능 시스템의 원리

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

지능형 프로세서가 세계에 작용합니다. 세계는 이 작용에 반응하여 결과를 반환합니다.

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

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

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

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

인간은 이러한 지식 추출, 저장, 선택 및 활용을 효과적으로 처리하는 메커니즘을 가지고 있어 학습이 가능합니다.

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

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

지식의 종류

이러한 원칙을 바탕으로 후천적 학습을 설계할 때, 후천적 지식이 어떤 형태의 정보가 될 것인지 명확히 할 필요가 있습니다.

후천적 지식을 신경망 매개변수로 별도로 학습하는 방법도 고려할 수 있습니다.

그러나 후천적 지식이 반드시 신경망 매개변수에만 국한될 필요는 없습니다. 현실적인 대안으로는 자연어로 텍스트화된 지식을 들 수 있습니다.

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

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

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

이러한 이유로 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는 익숙한 챗봇으로 합니다. 초기에는 사용자 입력을 LLM에 직접 전달합니다. LLM의 응답은 UI에 표시되고, 시스템은 다음 사용자 입력을 기다립니다.

다음 입력이 들어오면 LLM에는 새로운 입력뿐만 아니라, 지금까지의 사용자와 LLM 간의 채팅 기록 전체가 함께 입력됩니다.

이 챗봇 UI 뒷단에는 채팅 기록에서 재사용 가능한 지식을 추출하는 메커니즘을 준비합니다.

이 메커니즘은 대화가 종료될 때나 일정 시간 간격으로 실행되는 처리로 챗봇 시스템에 추가할 수 있습니다. 지식 추출에는 물론 LLM을 사용합니다.

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

채팅 기록에서 추출된 지식은 지식 레이크에 직접 저장됩니다. 지식 레이크는 지식을 구조화하기 전의 상태로 평탄하게 저장해두는 단순한 메커니즘입니다.

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

이는 일반적인 RAG에서 사용되는 시맨틱 검색을 위한 임베딩 벡터 저장소나 키워드 인덱스 등을 제공하는 것을 포함합니다.

이 외에도 더 정교한 지식 그래프를 생성하거나 카테고리 분류를 수행하는 등의 방법도 고려할 수 있습니다.

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

다음으로, 지식 저장소를 챗봇 UI 처리 과정에 통합합니다.

이는 기본적으로 일반적인 RAG 메커니즘과 동일합니다. 사용자 입력에 대해 유용할 것으로 판단되는 지식을 지식 저장소에서 선택하고, 사용자 입력과 함께 LLM에 전달합니다.

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

이러한 방식으로 사용자와의 대화마다 지식이 증가하고, 과거 대화에서 축적된 지식을 활용하는 간단한 ALIS가 구현됩니다.

간단한 시나리오

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

사용자가 LLM이 제안한 코드에서 오류가 발생했다고 보고합니다. 그러면 사용자와 LLM은 협력하여 문제를 해결합니다. LLM이 알고 있던 외부 API 사양이 오래되었고, 최신 API 사양에 맞춰 수정하자 문제가 해결되었다고 가정해 봅시다.

이 경우, 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의 사전 학습 데이터 세트로 활용할 수 있다는 점입니다. 이는 미세 조정(fine-tuning)으로 활용하는 방법과 LLM 사전 학습 자체에 활용하는 두 가지 방법이 있습니다.

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

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

이처럼 ALIS의 요소 기술은 갖춰져 있습니다. 남은 중요한 단계는 지식 추출 노하우, 적절한 지식 선택, 전문 지식 분할, 상태 메모리 활용 방법 등 다양한 방법을 실질적으로 실험하여 효과적인 접근 방식을 찾아내는 것입니다. 또한 복잡성이 증가하면 처리 시간 및 LLM 사용 비용도 증가하므로 최적화도 필요합니다.

이러한 시행착오 과정과 최적화는 프레임워크의 개발 및 정교화를 통해 학습적으로 진행될 수 있습니다.

초기에는 개발자들이 사용자로서 시행착오를 거치며 ALIS에 프레임워크를 통합하게 될 것입니다. 하지만 그 과정에서도 LLM 자체에 프레임워크 아이디어를 생성하도록 지시할 수 있습니다.

그리고 세계로부터 얻은 결과와 추출된 지식을 참고하여 프레임워크를 개선하고 새로운 프레임워크를 발견하는 프레임워크를 ALIS에 통합함으로써, ALIS 스스로 학습적으로 시행착오와 최적화를 수행해 나갈 것입니다.

현실 세계의 ALIS

ALIS가 이 단계까지 정교해지면 소프트웨어 개발의 세계에 국한되지 않고 다양한 영역에서 지식을 습득할 수 있게 될 것입니다.

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

그러한 순수한 지적 활동에서도 ALIS는 목표하는 세계와 관련하여 마치 체화된 AI(embodied AI)와 같은 특성을 갖게 될 것입니다.

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

세계와의 이 경계가 물리적으로 눈에 보이고 한곳에 국한되어 있을 때, 우리는 일반적으로 이를 신체라고 부릅니다.

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

이러한 의미에서 지적 활동을 수행하는 ALIS는 가상적으로 체화된 AI의 특성을 가진다고 볼 수 있습니다.

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

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