인공 지능(AI)은 인간의 감독 없이도 기계가 합리적으로 생각하고, 문제를 해결하고, 결정을 내릴 수 있는 능력으로 정의할 수 있습니다.
머신 러닝과 딥 러닝 기술의 등장으로 기계는 입력된 데이터를 기반으로 '사고'하고 '학습'하여 이전에는 사람만이 할 수 있었던 작업을 수행할 수 있게 되었습니다. 이 글에서는 인공 지능, 생성형 인공 지능에 대해 자세히 알아보고, MongoDB가 인공 지능 처리를 간소화하고, 문맥 기반 검색을 가능하게 하며, 거대 언어 모델의 정확성을 향상시킴으로써 생성형 인공 지능의 판도를 어떻게 변화시키고 있는지 살펴봅니다.
목차
인공 지능은 인간의 이해와 능력을 능가하는 것으로 인식되는 추론, 지능적 의사 결정 및 데이터 분석에 기계가 참여할 수 있도록 하는 컴퓨터 과학의 한 분야입니다.
인공 지능에는 데이터 과학, 통계학, 신경과학, 머신 러닝과 같은 분야가 포함되며, 최신 알고리즘의 기반이 되는 딥 러닝도 여기에 포함됩니다.
이러한 알고리즘은 데이터를 패턴으로 이해하고 어려운 작업을 쉽고 정확하게 수행함으로써 인공 지능이 인간과 같은 의사 결정을 내릴 수 있는 기반이 됩니다.
인공 지능 시스템의 대표적인 예로는 ChatGPT, Alexa 및 Siri와 같은 가상 비서, 자율 주행 자동차, 추천 엔진 등이 있습니다.
인간의 뇌는 복잡한 방식으로 작동합니다. 우리는 과거의 경험과 기억을 바탕으로 생각하고, 행동하고, 결정을 내리며, 주변 환경과 상황에 따라 패턴을 도출합니다. 일정 기간 동안 우리가 관찰하는 것은 뇌가 사실로 인식하는 것입니다. 예를 들어, 빨간 장미를 지속적으로 본다면 우리의 뇌는 장미가 붉은 색이고 특정 모양과 크기를 가지고 있다고 처리합니다. 빨간 장미에 대한 사전 지식을 바탕으로 장미가 노란색이나 분홍색일 수도 있다는 내용을 읽거나 들으면, 우리는 노란색이나 분홍색 장미가 어떤 면에서 빨간 장미와 비슷할 것이라고 상상합니다.
인간 지능 대 인공 지능의 도식화
인공 지능도 같은 방식으로 작동합니다. 컴퓨터에 충분한 데이터가 공급되면 컴퓨터는 알고리즘을 통해 데이터 패턴을 기반으로 특정 결과를 도출할 수 있습니다. 예를 들어, 장미와 색상에 대한 데이터를 제공하면 컴퓨터가 다음에 유사한 개체를 볼 때 특정 색상의 장미로 식별할 수 있습니다.
인공 지능은 지능이 요구되는 작업을 수행할 수 있는 기계를 구축하기 위한 이론과 시스템을 포함하는 광범위한 용어입니다. 머신 러닝은 명시적인 프로그래밍 없이도 데이터를 분석하여 패턴을 찾고 다양한 알고리즘을 사용하여 의사 결정을 내리는 데 중점을 두는 인공 지능의 한 분야입니다. 머신러닝 기술에는 지도 학습, 비지도 학습, 강화 학습 방법이 포함됩니다.
딥 러닝은 인간 지능을 모방한 머신 러닝의 한 분야입니다. 딥 러닝 모델은 인공 심층 신경망, 즉 많은 레이어로 구성된 상호 연결된 뉴런(또는 노드)으로 이루어져 있습니다. 이 구조 덕분에 머신 러닝 알고리즘보다 더 복잡한 데이터 패턴을 처리할 수 있습니다. 거대 언어 모델과 생성형 인공 지능은 딥 러닝의 하위 집합입니다. 특정 작업에 사용할 수 있는 인공 신경망은 여러 가지가 있습니다.
이러한 신경망은 모두 이진 분류에 사용되는 가장 기본적인 신경망인 '퍼셉트론'을 기반으로 합니다. 퍼셉트론은 입력 레이어를 받아 가중치를 적용한 후 출력 레이어로 전달하는 단일 뉴런 레이어로 구성됩니다.
순방향 신경망(FNN)은 최초로 개발된 인공 신경망 중 하나로, 각 레이어에 여러 퍼셉트론 그룹이 포함되어 있습니다. 다층 퍼셉트론(MLP)이라고도 합니다. 순방향 신경망은 정보를 한 방향으로만, 즉 순방향으로만 전달하며 루프가 없습니다. 순방향 신경망에는 입력, 출력, 및 입력을 처리하는 은닉 레이어가 있습니다. FNN은 데이터가 시간에 의존적이거나 순차적이지 않을 때 지도 학습에 사용됩니다.
합성곱 신경망(CNN)은 FNN의 일종으로 복잡한 이미지 분류 작업, 컴퓨터 비전, 이미지 분석, 자연어 처리 등에 사용됩니다. CNN은 한 번에 한 이미지 패치씩 살펴보며 한 번에 더 적은 수의 매개변수를 사용하여 가장 중요한 특징을 추출하는 학습을 진행합니다. 특징 추출은 합성곱 연산 중에 커널을 사용하여 수행됩니다.
순환 신경망(RNN)은 입력 순서가 중요한 순차적 데이터에 더 적합합니다. 순차 정보는 입력 레이어의 루프를 통해 포착됩니다. RNN은 time-series 데이터와 자연어 처리에 더 적합합니다. 장단기 메모리(LSTM)는 순차적 데이터의 종속성을 저장하는 메모리 셀이 있는 RNN의 한 유형입니다. LSTM은 음성 인식, 감정 분석, 번역에 매우 효과적입니다.
자동 인코더는 인코더와 디코더로 구성됩니다. 인코더는 데이터의 차원을 저차원 공간(잠재 공간)으로 압축합니다. 디코더는 잠재 공간을 사용하여 입력 데이터를 재구성합니다. 자동 인코더는 노이즈 제거, 차원 축소, 특징 학습에 사용할 수 있습니다.
인코더-디코더 아키텍처는 짧은 시퀀스를 기억할 수 있지만, 긴 시퀀스에서는 일부 정보(특히 먼저 수신된 정보)를 잊어버릴 수 있습니다. 어텐션 메커니즘을 사용하면 디코더는 전체 시퀀스에 주의를 기울이고 전체 시퀀스의 맥락을 활용해 출력을 생성할 수 있습니다. 셀프 어텐션은 모든 입력 텍스트를 한 번에 처리하고 전체 시퀀스의 모든 단어 간에 관계를 생성할 수 있게 해줍니다. 이 기능으로 인해 셀프 어텐션은 장거리 종속성에 대해 RNN이나 CNN보다 빠르게 작동합니다.
초기의 상상은 기원전 750년경부터 공상 과학 소설 및 생각하는 기계에 관한 책과 아이디어를 통해 시작되었으나, 신경망의 첫 토대는 1947년 신경망 아키텍처를 위한 계산 모델을 만든 월터 피츠와 워렌 맥컬로크에 의해 마련되었습니다.
1950년, 앨런 튜링은 기계 지능을 정의하기 위한 튜링 테스트를 도입했습니다.
인공 지능이라는 용어는 1956년 존 매카시가 인공 지능 워크숍을 조직하고 기계를 지능적으로 만드는 과학과 공학으로 이 용어를 정의하면서 만들어졌습니다. 1960년대 초, 프랭크 로젠블랫은 시행착오를 통해 학습할 수 있는 최초의 컴퓨터, 퍼셉트론을 개발했습니다. 이후 1963년, 존 매카시는 인공 지능 연구소를 설립했습니다.
인공 지능 분야에서 다음으로 큰 도약은 전문가 시스템, 즉 인간 전문가의 의사 결정 능력을 모방할 수 있는 지식 기반 컴퓨터 시스템을 통해 이루어졌습니다. 이러한 시스템은 상당히 성공적인 형태의 인공 지능이었으며 의료, 전투 및 훈련 시뮬레이터, 임무 관리 보조 장치에 사용되었습니다.
1980년대에 인공 지능은 하나의 산업으로 자리 잡았고 전문가 시스템, 비전 시스템, 로봇 공학에 수십억 달러가 투자되었습니다.
1997년 당시 세계 체스 챔피언을 물리친 IBM의 체스 컴퓨터 딥 블루(Deep Blue)가 개발되면서 인공 지능에 대한 관심이 더욱 높아졌고, 이 분야에서 급속한 발전이 이루어졌습니다.
2010년경 자연어 번역을 연구하는 연구원들은 규칙 기반 시스템을 사용하는 모델에 비해 방대한 양의 다양한 텍스트 데이터를 입력한 모델이 훨씬 더 나은 결과를 산출한다는 사실을 발견했습니다.
2011년에는 자연어 처리를 통해 질문에 답하고 작업을 수행할 수 있는 Cortana, Siri, Alexa와 같은 개인 비서가 등장했습니다.
2014년에는 언어 모델이 단어가 등장한 문맥을 이해하기 시작했습니다. 추가 연구를 통해, 특정 사용 사례나 도메인에 맞춰 다운스트림할 수 있는 베이스 또는 파운데이션 모델을 제공하는 범용 언어 모델이 개발되었습니다.
이러한 파운데이션 모델을 통해 ChatGPT와 같은 생성형 인공 지능과 거대 언어 모델(LLM)이 개발되었습니다.
인공 지능의 역사와 타임라인
인공 지능을 기능에 따라 크게 분류하면 좁은(또는 약한) 인공 지능과 강한 인공 지능으로 나눌 수 있습니다. 머신 러닝, 딥 러닝 및 인공 지능 분야의 연구와 발전을 통해 우리는 약한 인공 지능에서 강한 인공 지능으로 나아가고 있습니다.
약한 인공 지능 또는 좁은 인공 지능(ANI)은 특정 작업을 수행하도록 학습된 시스템으로, 학습된 데이터에 따라 기능이 제한적입니다. 전통적인 인공 지능 시스템이라고도 하며, 시스템이 특정 입력과 규칙에 따라 지능적으로 응답할 수 있습니다. 하지만 새로운 것을 창조할 수는 없습니다.
전통적 또는 약한 인공 지능은 반응형 머신과 제한적 메모리라는 두 가지 범주로 더 분류됩니다.
인공 지능의 가장 오래된 형태는 메모리가 없는 반응형 머신이었습니다. 메모리는 없지만 다양한 자극에 반응하는 인간의 능력을 모방할 수 있습니다. 이들은 경험을 통해 학습할 수 없으며(기억이 없음), 제한된 입력 조합에 기반하여 응답합니다. IBM의 딥 블루(Deep Blue) 머신은 반응형 머신입니다.
제한된 메모리를 가진 시스템으로, 입력된 데이터를 기반으로 학습하고 의사 결정을 내릴 수 있습니다. 자율주행 자동차, 챗봇, Alexa 같은 개인 비서, Netflix의 추천 시스템 등 우리가 흔히 볼 수 있는 대부분의 인공 지능은 모두 제한적 메모리 인공 지능의 예입니다.
ChatGPT 및 기타 유사한 생성형 인공 지능 모델의 혁신으로 우리는 서서히 강한 인공 지능 단계에 접어들고 있습니다. 생성형 인공 지능은 사용자 입력을 기반으로 새로운 콘텐츠를 생성할 수 있는 일종의 차세대 인공 지능입니다. ChatGPT는 거대 언어 모델(LLM)을 기반으로 하는 생성형 인공 지능의 한 예입니다. 강한 인공 지능 분야에서는 아직 해결해야 할 과제가 많으며, 이는 다음과 같이 분류할 수 있습니다.
ToM은 타인의 신념, 생각, 감정과 같은 다양한 정신 상태를 이해하여 그들의 행동을 설명하기 위한 인지 기술입니다. 연구자들은 인공 지능 시스템이 인간의 감정과 마음 상태를 이해할 수 있도록 하는 것을 목표로 ToM을 인공 지능에 적용하기 위해 노력하고 있습니다. 자연어로 인간과 상호 작용하고 새로운 콘텐츠를 생산할 수 있는 새로운 인공 지능 시스템인 ChatGPT는 테스트 중에 일종의 마음 이론을 입증했습니다. 하지만 아직 욕망, 신념, 감정을 이해하는 능력은 갖추지 못했습니다. ChatGPT의 응답은 데이터와 일반적인 패턴을 기반으로 합니다.
인공 일반 지능은 인공 지능 시스템이나 에이전트가 훈련을 거의 또는 전혀 받지 않고도 여러 역량과 기능을 독립적으로 구축하고, 연결을 형성하며, 일반화하는 등 인간과 똑같이 행동하는 인공 지능 개발의 다음 단계입니다.
다음 단계는 인공 지능이 자기 인식에 도달하는 지점, 즉 기계가 자신의 존재를 인식하게 되는 시점입니다. 기계는 인간의 감정, 욕구, 신념을 이해할 뿐만 아니라 자신의 욕구, 신념, 감정을 갖게 될 것입니다. 자기 인식 에이전트는 의료 및 로봇 공학 분야에서 사용될 수 있으며, 인간에 비해 더 효율적으로 정확하게 작업을 수행할 수 있습니다.
자각 능력을 갖춘 인공 지능은 ASI로 발전할 가능성이 있으며, 이는 인공 지능 에이전트가 초인적 지능을 갖게 되어 인간의 가치관과 동기를 초월할 수 있음을 의미합니다. 자각 능력을 갖춘 인공 지능과 ASI는 고용 및 윤리적 문제를 야기할 수 있으므로 연구자와 정부는 이에 대한 경각심을 가지고 규칙과 지침을 마련해야 합니다. 그러나 이러한 목표는 실현하기까지 수십 년이 소요될 수 있는 장기적인 목표입니다.
다양한 단계(유형)의 인공 지능
파운데이션 모델은 방대한 양의 비정형 데이터로 학습된 범용성을 갖춘 인공 심층 신경망입니다. 이러한 모델은 범용 모델로 사용할 수 있도록 구축되었습니다. 미리 학습된 이러한 기반(파운데이션) 모델을 맞춤화하여 인공 지능 및 머신 러닝 작업에 맞는 보다 구체적인 모델을 구축할 수 있습니다.
예를 들어, 텍스트 데이터로 학습된 거대 언어 모델(LLM)과 같은 파운데이션 모델은 정보 검색 및 질의 응답과 같은 다양한 작업에 사용할 수 있습니다. 생성형 사전 학습 트랜스포머 또는 GPT(유명한 ChatGPT의 기반)와 BERT(트랜스포머의 양방향 인코더 표현)가 거대 언어 모델 파운데이션 모델의 예입니다. ResNet(잔여 네트워크)은 이미지 분류 및 컴퓨터 비전 작업에 널리 사용되는 컴퓨터 비전 유형의 파운데이션 모델입니다. 파운데이션 모델은 적응력이 뛰어나며 프롬프트와 미세 조정을 통해 스스로 감독하고 즉흥적으로 조정할 수 있습니다.
파운데이션 모델에는 무엇이 포함되나요?
인공 지능 기술은 이미지, 동영상, 오디오, 텍스트 등 새로운 콘텐츠를 생산할 수 있으며, 이렇게 콘텐츠를 생성할 수 있는 인공 지능을 생성형 인공 지능이라고 합니다!
생성형 인공 지능은 분류, 문장 완성, 이미지 또는 음성 생성, 합성(인공적으로 생성) 데이터와 같은 작업을 수행할 수 있는 파운데이션 모델을 기반으로 합니다. 파운데이션 모델은 당면한 특정 생성 작업에 맞게 미세 조정됩니다.
생성형 인공 지능 모델의 성공 여부는 데이터의 품질과 다양성 및 생성 속도에 따라 달라집니다.
생성형 인공 지능 모델
생성형 인공 지능 모델에는 여러 가지 범주가 있으며, 그 중 몇 가지 대표적인 모델은 다음과 같습니다.
트랜스포머 기반 아키텍처는 단어(데이터) 간의 문맥 관계를 식별하는 데 매우 정확함이 입증되었습니다. 이들은 텍스트 생성, 기계 번역, 언어 모델링에 사용됩니다. GPT(ChatGPT에 사용)와 같은 거대 언어 모델이 트랜스포머 아키텍처의 한 예입니다.
트랜스포머 모델은 셀프 어텐션 메커니즘을 기반으로 하며, 텍스트 처리 과정에서 입력 시퀀스 내 각 요소의 중요도를 평가하여 문맥 정보를 효과적으로 포착합니다.
예를 들어, 영어 텍스트 “나는 인공지능에 대해 글을 쓰는 것을 좋아한다“를 스페인어로 번역하려는 경우 트랜스포머 모델은 이 단어(토큰) 시퀀스를 인코더(신경망)로 전달합니다. 입력 단어들은 쿼리(변환 필요), 키(입력), 값(출력) 벡터로 이루어진 numeric 벡터(단어 임베딩)로 병렬 변환됩니다.
예를 들어, 'love'라는 단어에 대해 q_
love, k_
love, v_
love 벡터가 있습니다.
각 단어는 다른 단어와의 유사도 점수를 기반으로 한 행렬에 배치됩니다. 예를 들어, 'love'라는 단어와 문장 속 다른 모든 단어 사이의 유사도가 생성되며, 점수가 높을수록 두 단어 사이의 관련성이 더 높음을 나타냅니다.
이어서, 문장 내 각 단어에 대한 주요 키워드('love'인 경우)와 관련된 중요도를 결정하는 어텐션 가중치를 계산합니다.
그 후, 벡터 표현에 위치 인코딩을 추가합니다. 위치 임베딩(유사도 + 위치 인코딩)은 디코더(또 다른 신경망)가 출력 토큰(단어)의 배치 순서를 결정하는 데 도움을 줍니다.
트랜스포머 모델 구조
VAEs는 이미지 생성, 데이터 압축, 이미지 노이즈 제거에 널리 사용됩니다. VAE에서 인코더 신경망은 입력 데이터 포인트를 잠재 공간 표현으로 매핑합니다. 잠재 공간은 데이터의 가장 중요한 특징을 추출하여 저차원으로 표현함으로써 다른 특징들을 제거하는 방식으로 구성됩니다. 디코더 신경망은 이 잠재 공간 표현을 기반으로 출력 데이터를 재구성합니다.
GANs는 사실적인 이미지, 아트, 딥페이크 동영상, 이미지-이미지 변환, 초고해상도 이미지 생성에 광범위하게 사용됩니다. GAN은 무작위 노이즈 또는 시드를 입력으로 받아 합성 데이터 샘플(예: 이미지)을 생성하는 생성기(신경망)로 구성됩니다. 그런 다음 합성 데이터 샘플을 판별기(Discriminator)라는 다른 신경망에 공급하며, 이 판별기는 이진 분류를 사용하여 샘플이 가짜인지 진짜인지 판단합니다. 적대적 훈련을 통해, 생성기와 판별기는 나쉬 평형 에 도달할 때까지 동시에 훈련되며, 생성기는 고품질의 사실적인 데이터(예: 이미지)를 생성하고, 판별기는 이를 진짜 또는 가짜로 정확하게 분류할 수 있게 됩니다.
거대 언어 모델은 방대한 데이터셋을 학습하여 사용자에게 거의 정확하고 매력적인 경험을 제공하는 파운데이션 모델입니다. 이러한 모델을 구축하기 위해서는 다양한 출처에서 방대한 양의 데이터를 수집하여 올바르게 저장하고, 필요할 때 관련성에 따라 처리 및 검색해야 합니다.
거대 언어 모델은 질문에 대답하기, 텍스트 생성, 텍스트 분류 및 요약 등의 일반적인 문제 해결에 사용될 수 있으며, 특정 문제를 해결하기 위해 최소한의 데이터셋에 대한 튜닝 및 프롬프팅을 사용하여 미세 조정이 가능합니다.
파운데이션 모델은 데이터 패턴을 학습하여 유연하고 일반화 가능한 출력을 생성하며, 이는 다양한 특정 인스턴스에 적용될 수 있습니다. 이러한 인스턴스 중 하나는 텍스트 기반 입력에 적용되는 거대 언어 모델입니다.
거대 언어 모델은 데이터, 아키텍처, 학습으로 구성됩니다. 데이터는 일반적으로 페타바이트 단위의 대용량 책, 대화 및 텍스트 콘텐츠입니다. 아키텍처는 심층 신경망으로, GPT의 경우 트랜스포머입니다. 학습하는 동안 모델은 주어진 문장의 다음 단어를 예측하는 방법을 학습합니다.
그러나 거대 언어 모델에는 세 가지 문제가 있습니다.
모델이 완전히 학습된 후에 정보가 업데이트되거나 변경된 경우, 모델이 이를 알지 못해 오래된 결과를 제공할 수 있습니다. 예를 들어 모델에 '지난 6개월 사이에 나온 볼만한 코미디 영화 목록을 알려줘'라고 질문할 경우, 지난 6개월 간 학습이 이뤄지지 않았다면 모델이 이를 수행하지 못할 수 있습니다.
모델 내부에 잘못된 정보가 포함될 수 있습니다.
모델은 사용자의 개인 데이터에 접근할 수 없으며, 제한된 지식에 기반한 편향되거나 불완전한 정보를 제공할 수 있습니다.
RAG 인공 지능 프레임워크는 거대 언어 모델 내부에 존재하는 정보를 외부 지식 기반의 검증 정보로 보완하여 위의 문제를 해결하고 거대 언어 모델의 응답 품질을 개선하는 것이 목표입니다. 이를 통해 모델이 존재하지 않는 패턴이나 객체(환각)를 잘못 식별하거나, 정확하지 않고 오해의 소지가 있으며 오래된 정보를 제시할 가능성이 줄어듭니다.
검색 아키텍처는 벡터 저장소를 사용하며 벡터 검색을 통해 거대 언어 모델의 능력을 향상시킵니다.
MongoDB Atlas는 플랫폼 내에서 벡터 검색을 제공하는 통합 개발자 데이터 플랫폼으로, 몇 가지 간단한 단계를 통해 설정하여 거대 언어 모델의 출력을 향상시키고 더 정확한 결과를 생성할 수 있습니다.
이전 섹션에서 트랜스포머 모델에 대해 배웠고, 벡터가 텍스트 데이터의 숫자형 표현임을 알게 되었습니다. 예를 들어, “나는 인공지능에 대해 글을 쓰는 것을 좋아한다“라는 문장의 벡터 표현은 “나는...를 좋아한다“ = [0.33, 0.45, 0.72, -0.23…..]와 같을 수 있습니다.
위의 벡터 표현에는 '인공'이라는 단어가 '지능'이라는 단어 또는 '쓰기'라는 단어와 어떤 관련이 있는지, 이 문장에서 '사랑'이라는 단어의 문맥이 무엇인지 등 각 단어 간의 관계가 포함되어 있습니다.
이러한 벡터는 트랜스포머 모델에서 보았듯이 입력 데이터를 심층 신경망(인코더)을 통해 전송하여 생성됩니다.
실제로 벡터 표현은 여러 차원을 가질 수 있습니다. 데이터에 매개변수가 많을수록 데이터에는 더 많은 차원이 존재합니다. 이러한 숫자를 이해하고 벡터가 생성된 후 어떤 일이 발생하는지 이해하기 쉽도록 2차원 그래프를 그려 보겠습니다.
모든 벡터는 숫자 표현에 따라 플롯됩니다. 비슷한 의미를 가진 단어 임베딩(벡터)은 서로 가깝게 그려져 클러스터를 형성한다는 점에 유의하세요.
그래픽으로 표현한 벡터의 모습
데이터를 클러스터링할 수 있는 컨텍스트는 다양할 수 있습니다. 이러한 관계는 소스 데이터를 어떻게 임베딩하는지와 벡터 간 거리가 어떻게 계산되는지에 따라 달라집니다. 아래 예시에서는 두 가지 유형의 관계가 설정될 수 있습니다.
유사한 단어의 거리 계산
유사도 함수는 어떤 단어가 더 가까운지 결정하고, 가까운 위치에 있는 단어를 이웃으로 표시합니다. 이 그룹화/클러스터링은 k-최근접 이웃 알고리즘을 사용하여 수행되며, 여기서 k 값은 식별할 이웃의 수를 나타냅니다. 유사도를 찾기 위해 벡터 검색은 다음과 같은 여러 방법을 지원합니다.
MongoDB Atlas는 Atlas 플랫폼 내에서 인공 지능 프레임워크를 통해 벡터 검색 기능을 제공하며, 위의 모든 유사도 함수를 지원합니다.
MongoDB는 항상 2차원 벡터 검색을 지원했습니다. 그러나 새로운 벡터 검색은 임베딩을 통해 강력한 기능을 제공하고 더 높은 차원을 허용합니다. 애플리케이션은 데이터뿐만 아니라 벡터 임베딩도 데이터베이스에 기록할 수 있습니다. 데이터 벡터는 인코더 모델을 사용하여 생성됩니다. Atlas 검색은 계층적 탐색 가능한 작은 세계(HNSW) 그래프를 통해 근사 최근접 이웃(ANN) 알고리즘을 사용합니다. ANN은 k-최근접 이웃의 변형이지만 검색 속도가 더 빠릅니다.
MongoDB Atlas에서 벡터가 저장되는 방식
읽는 동안 쿼리는 인코딩되어 $search
집계 단계에서 대상 벡터와 함께 제출됩니다. 단계별로 알아보고 싶다면 MongoDB를 사용한 생성형 인공 지능 애플리케이션 구축에 대한 튜토리얼을 참조하세요.
운영 데이터와 함께 벡터를 사용하면 단일 플랫폼 내의 모든 정보, 심지어 다른 방법으로는 액세스할 수 없는 개인 데이터까지 액세스할 수 있다는 이점이 있습니다.
Atlas 벡터 검색은 애플리케이션 아키텍처를 간소화합니다. Atlas는 완전 관리형이기 때문에 데이터 동기화, 보안, 개인정보 보호 등 모든 것이 MongoDB Atlas 플랫폼에서 처리됩니다. 개발자는 통합된 MongoDB Query API를 사용하여 데이터베이스 및 벡터 검색 작업을 할 수 있습니다. 주요 클라우드 제공업체 3곳에 걸쳐 100개 이상의 지역에서 Atlas를 배포할 수 있습니다. Atlas는 애플리케이션 규모에 관계없이 고성능을 보장하는 고급 자동화를 통해 지속적인 가동 시간을 제공합니다.
Atlas 벡터 검색의 대표적인 사용 사례는 다음과 같습니다:
클라이언트 애플리케이션이 원시 데이터를 전송합니다. 벡터 임베딩 모델은 초기 쿼리(원시 데이터)의 각 텍스트에 대해 벡터를 생성합니다. Llamaindex 및 LangChain과 같은 프레임워크는 MongoDB Atlas와 원활하게 통합되어, 임베딩을 생성하고 또한 데이터를 MongoDB로 전송하여 컨텍스트 인식을 추가합니다. 프롬프트라고 하는 문맥 인식 쿼리는 인코딩된 응답을 생성하는 거대 언어 모델로 전송되어 벡터 임베딩 모델(디코더)에 의해 처리되고 디코딩 후 클라이언트로 전송됩니다.
MongoDB Atlas에서 벡터 검색을 수행하는 단계
벡터 임베딩은 MongoDB 데이터베이스 문서에서 content_embeddings 필드에 콘텐츠와 함께 부동 소수점 배열로 저장할 수 있습니다.
_id: ObjectId('5091233df3f4925bd2f00371'),
name: "sample_data",
...... 기타 필드......,
content: <unstructured data>,
content_embeddings: [0.9854344343432, 0.45255689075, -0.569745879343, ......]
입력 데이터의 차원 수가 많을수록 부동 소수점의 개수도 많아집니다.
다음으로, 정의 빌더를 사용하여 인덱스 정의를 설정합니다
{
"mappings": {
"fields": {
"content_embedding": {
{
"type": "knnVector",
"dimensions": 1536,
"similarity": "<euclidean | dotProduct | cosine>"
}
}
}
}
}
인덱스 정의에는 유사성 클러스터를 찾을 모델, 차원, 그리고 모델에서 사용할 유사성 함수(MongoDB에서 지원하는 세 가지 방법 중 하나)가 포함됩니다.
여기까지입니다! 두 단계만 거치면 완료됩니다.
검색을 하려면 $search
집계 연산자에 knnBeta
연산자를 지정하고 vector
필드에 쿼리의 벡터 임베딩을 지정하여 사용할 수 있습니다. 또한 벡터 검색을 위해 살펴볼 콘텐츠 임베딩의 '경로'를 지정해야 합니다. MongoDB는 검색 범위를 좁히기 위한 추가 필터
와 k-최근접 이웃 알고리즘이 반환해야 하는 가장 가까운 이웃의 수 또한 제공합니다.
[{
"$search": {
"knnBeta": {
//encoded query vectors
"vector": [0.983428349, -0,4234982300, 0.23023840922...............],
"path": "content_embedding",
"filters": {},
"k": <integer_value_of_num_of_nearest_neighbors>
}
}
}]
벡터 임베딩과 데이터가 모두 동일한 플랫폼에 존재하기 때문에, 하나의 통합된 MongoDB Query API를 사용하여 운영 워크로드와 벡터에 액세스할 수 있습니다. 기능을 단계별로 사용하는 방법을 배우려면 벡터 검색을 사용한 생성형 인공 지능 앱 구축 튜토리얼을 참조하세요.
인공 지능은 소매, 의료, 제조를 등 다양한 분야에서 성공적으로 적용되고 있습니다. 대표적인 인공 지능 사용 사례는 다음과 같습니다.
자연어 처리(NLP): 인공 지능은 감정 분석, 가상 비서, 챗봇, 음성 인식, 텍스트 번역에 활발히 사용되고 있습니다. 위에서 살펴본 것처럼 인공 지능 시스템은 거대 언어 모델과 벡터 검색의 힘을 사용하여 인간의 언어로 된 결과물을 생성할 수 있습니다.
컴퓨터 비전: 최신 신경망을 갖춘 인공 지능 시스템은 이미지 분류, 얼굴 및 물체 인식, 이미지 생성을 정확하게 수행할 수 있습니다.
추천 시스템 및 콘텐츠 필터링: 인공 지능 시스템은 사람의 개입 없이 딥 러닝 및 머신 러닝 모델을 사용하여 사용자에게 콘텐츠를 추천할 수 있습니다.
의료: 인공 지능 기술은 의사의 질병 조기 진단, 의학 연구 및 신약 개발을 지원하고 환자의 전자 건강 기록을 안전하게 저장함으로써 의료 서비스를 새로운 차원으로 끌어 올렸습니다.
자율 주행 자동차: 자율 주행 자동차는 인공 지능 알고리즘, 센서 데이터 및 컴퓨터 비전을 기반으로 합니다.
로봇공학: 산업용 로봇은 복잡한 작업을 정확하게 수행하여 생산성을 높이고 있습니다. 마찬가지로 서비스 로봇은 의료 및 접객업 분야에서 효율적으로 업무를 수행할 수 있습니다.
인공 지능 분야가 빠르게 발전하고 있는 상황에서 인공 지능 시스템이 공정하고 투명하며 올바른 목적에 맞게 사용되도록 규칙과 규정을 설정하고 윤리적 고려 사항을 다루는 것이 중요합니다. 인공 지능 윤리는 공정성, 개인정보 보호, 투명성, 책임성 등 인공 지능 도구와 기술의 도덕적, 윤리적 함의에 초점을 맞추고 있습니다.
정부는 인공 지능의 책임 있는 사용을 보장하기 위해 프레임워크, 구조 및 규정 준수 규칙을 설정합니다.
또한 정부는 데이터 보안, 소비자 보호 및 안전 표준을 보장하기 위해 인공 지능 규정, 즉 법적 프레임워크를 만듭니다.
데이터는 모든 인공 지능 운영의 핵심이며 MongoDB는 강력한 인공 지능 앱 구축에 신뢰할 수 있는 플랫폼입니다. MongoDB는 유연한 스키마를 갖춘 데이터베이스로서 내장 데이터 관리 기능, 고급 데이터 처리, 실시간 분석, 확장성 등을 제공하는 중앙 집중식 스토리지 솔루션을 제공합니다. 다른 인기 있는 도구 및 서비스는 다음과 같습니다.
ChatGPT: ChatGPT는 간단한 질문부터 휴가 계획, 코딩, 시 쓰기, 텍스트 요약 등 일상 생활의 일부가 되어가고 있습니다.
Dall-E 2: ChatGPT와 마찬가지로 OpenAI 프로젝트이며, 텍스트 프롬프트에서 이미지, 그림, 드로잉과 같은 컴퓨터 그래픽을 생성합니다.
Stable Diffusion 2: 생성형 인공 지능 애플리케이션을 위한 텍스트-이미지 AI 도구입니다. 브라우저 포털을 통해 액세스하는 OpenAI 도구와 달리 Stable Diffusion 2는 다운로드 및 설치가 가능하며, 사용자는 소스 코드 및 알고리즘에 공개적으로 액세스할 수 있습니다.
기계가 다양한 시나리오에 직면했을 때 인간처럼 생각하고, 학습하고, 결정을 내릴 수 있는 능력을 인공 지능이라고 합니다.
인공 지능(AI)에는 머신 러닝과 딥 러닝이 포함되며, 두 가지 모두 다양한 사용 사례를 충족하기 위해 여러 알고리즘으로 구성됩니다. 이러한 알고리즘은 다양한 소스에서 수집한 방대한 양의 데이터를 정렬, 변환, 사전 처리하여 알고리즘에 입력합니다. 알고리즘은 바람직한 결과를 얻을 때까지 데이터를 사용하여 학습하고, 피드백을 받고, 스스로를 개선합니다.
인공 지능은 일상적이고 반복적인 업무의 자동화, 효율성 향상, 인적 오류 감소, 더 빠르고 정확한 의사 결정을 위한 예측 분석, 사용자에게 개인화된 추천, 질병 진단 지원, 의학 및 과학 분야의 연구 가속화, 혁신 촉진 등을 가능하게 하기 때문에 중요합니다.
인공 지능의 가장 최신이자 인기 있는 예시 중 하나는 ChatGPT로, 타이핑으로 사람이 한 질문에 인간처럼 대답할 수 있습니다. 또한, 대화의 맥락까지 기억할 수 있습니다. ChatGPT는 거대 언어 모델을 기반으로 학습되었으며, 증강을 통해 더욱 발전되었습니다. MongoDB Atlas는 모든 주요 클라우드 제공업체에서 강력한 생성형 인공 지능 앱을 구축할 수 있는 우수한 플랫폼을 제공합니다.