AI

머신 러닝에서 임베딩이란 무엇인가요?

임베딩은 AI가 단어와 데이터를 이해하도록 돕고, 검색 엔진, 대규모 언어 모델(LLM), 추천 시스템을 구동합니다.
1 분 읽기
What are Embeddings in Machine Learning blog image

임베딩이 없다면 AI 산업과 기술 전반은 사실상 알아볼 수 없을 것입니다. 대규모 언어 모델(LLM)은 사용자를 이해하지 못할 것이며, 검색 엔진은 사용자가 무엇을 찾는지 전혀 알지 못할 것이고, 다른 모든 추천 시스템은 무작위 쓰레기만 쏟아낼 것입니다.

함께 따라가며 임베딩이 어떻게 작동하는지, 그리고 머신 러닝에서 그 중요성을 살펴보겠습니다.

임베딩이란 무엇인가?

기계는 단어를 이해하지 못하지만 숫자는 이해합니다. 어떤 소프트웨어 언어로 코드를 작성하든, 컴파일이나 해석 과정을 거쳐 결국 기계가 이해할 수 있는 이진수나 16진수 코드(둘 다 숫자 형식)로 변환됩니다.

인공지능, 특히 머신러닝에서 모델은 정보를 이해해야 합니다. 바로 여기서 임베딩이 등장합니다. 임베딩을 사용하면 단어, 이미지 및 기타 모든 유형의 정보를 기계가 읽을 수 있는 숫자로 변환할 수 있습니다. 이를 통해 인공지능은 패턴, 관계 및 의미를 찾을 수 있습니다.

기계는 단어가 아닌 숫자를 이해합니다. 임베딩은 인간 데이터와 AI 사이의 가교 역할을 합니다.

임베딩이 중요한 이유

피자 가게를 검색했는데 타코 추천이 나오는 세상을 상상해보세요. 웹 스크래핑 중 ChatGPT나 Claude에게 파이썬 팁을 물었는데 애완용 파이썬 돌보는 법을 알려주는 상황을 상상해보세요!

임베딩은 모델이 사용자의 의도를 이해하도록 합니다. 임베딩이 없다면 대부분의 시스템은 사용자의 정확한 텍스트를 데이터베이스의 특정 항목과 일치시키는 방식으로 작동할 것입니다.

  • Google
  • LLM(대규모 언어 모델): 임베딩을 통해 이러한 모델은 사용자가 실제로 말하는 내용을 이해할 수 있습니다. 임베딩이 없다면 LLM은 사용자의 의도를 파악하지 못할 것입니다… 파이썬 팁 예시를 기억하시나요?
  • 추천 시스템: 넷플릭스와 같은 기업들은 필터링 및 기타 기술과 함께 임베딩을 활용하여 사용자가 실제로 즐길 만한 프로그램을 추천합니다.

임베딩을 통해 기계는 데이터를 단순히 읽는 것을 넘어 실제로 이해할 수 있습니다.

벡터: 임베딩의 언어

가장 단순한 형태에서 벡터는 단순한 목록입니다. 노트북 목록을 표현하고 싶다고 상상해 보세요. 각 노트북에는 OS, CPU 제조사, 프로세싱 코어, RAM과 같은 세부 정보가 있습니다.

Windows Laptop and Chromebook

두 대의 노트북이 있다면, 아래와 같이 표현할 수 있습니다.

  • Windows 노트북: ["Windows", "Intel", 4, "8"]
  • 크롬북: ["ChromeOS", "Mediatek", 8, "4"]

행렬: 벡터를 테이블로 결합하기

행렬은 리스트의 리스트입니다. 기술적으로 엄밀한 분들은 여기서 제가 틀렸다고 지적하며 벡터의 벡터라고 부를 수도 있겠지만… 앞서 정립한 바와 같이 벡터는 단순히 리스트입니다. 인간이 행렬을 볼 때 우리는 이를 표로 인식합니다.

다음은 사람이 읽기 쉬운 행렬입니다.

OS CPU 제조업체 프로세서 코어 수 RAM (GB)
Windows 인텔 4 8
ChromeOS MediaTek 8 4

우리의 행렬은 벡터의 벡터(리스트의 리스트)입니다. 보시다시피, 이는 읽기 어렵지만 여전히 이해 가능합니다. 기계에게는 위의 표보다 실제로 읽기 쉽지만, 여전히 기계 가독성을 위해 최적화되지는 않았습니다.

[
    ["Windows", "Intel", 4, 8],
    ["ChromeOS", "Mediatek", 8, 4]
]

진정한 기계 가독성을 위해 단어 대신 숫자를 사용해야 합니다. 숫자가 아닌 각 특성에 숫자를 할당하겠습니다.

OS

  • Windows: 0
  • ChromeOS: 1

CPU 제조사:

  • 인텔: 0
  • 미디어텍: 1

이 시점에서 우리의 “표”는 완전히 인간의 가독성을 잃습니다. 그러나 기계는 숫자를 매우 잘 처리합니다. 이를 통해 기계는 이 데이터를 효율적으로 처리하여 관계를 찾을 수 있습니다.

[
    [0, 0, 4, 8],
    [1, 1, 8, 4]
]

이는 기계가 분석하기에 완벽한 형태입니다. 기계는 단어를 읽지 않지만 숫자 패턴을 감지할 수 있습니다. 이 형식에서 모델은 데이터를 효과적으로 분석하고 패턴을 탐색할 수 있습니다.

임베딩의 작동 원리

Word Grouping Based On Context

임베딩은 위에서 만든 숫자 인코딩을 훨씬 뛰어넘습니다. 임베딩을 통해 방대한 데이터 세트를 우리 인간이 심층 분석 없이는 이해하기 어려운 복잡한 행렬로 변환할 수 있습니다.

임베딩을 통해 AI는 실제로 이 데이터를 분석하고 공식을 적용하여 관계를 찾을 수 있습니다. ‘왕’과 ‘여왕’은 유사한 개념입니다. 이 두 개체는 개념이 거의 동일하기 때문에 유사한 벡터를 가질 것입니다.

벡터를 사용하면 실제로 수학적 연산을 수행할 수 있습니다. 기계는 이 작업에 인간보다 훨씬 뛰어납니다. 기계는 아래 공식을 통해 이 둘의 관계를 인식할 수 있습니다.

  • 왕 - 남자 + 여자 = 여왕

지도형 임베딩과 비지도형 임베딩

임베딩에는 크게 두 가지 유형이 있습니다: 지도형과 비지도형입니다.

지도 임베딩

Shapes: Labeled Data

라벨과 매핑이 있는 구조화된 데이터로 모델을 훈련하는 경우, 이를 지도 학습이라고 하며 지도 임베딩을 생성합니다. AI는 인간에 의해 명시적으로 학습됩니다.

일반적인 용도

  • 이메일: 특정 유형의 이메일을 스팸 또는 비스팸으로 매핑합니다.
  • 이미지: 고양이와 개에 대한 라벨이 지정된 이미지로 모델을 훈련시킵니다.

지도형 임베딩에서는 인간이 이미 패턴을 인지하고 있으며 이를 기계에 가르칩니다.

비지도 임베딩

Unstructured Human Writing

비지도 임베딩은 구조화되지 않고 라벨이 붙지 않은 상태입니다. 모델은 방대한 양의 데이터를 스캔합니다. 그런 다음 함께 자주 나타나는 단어와 문자를 그룹화합니다. 이를 통해 모델은 인간으로부터 직접 패턴을 학습하기보다 패턴을 발견할 수 있습니다. 충분한 발견을 통해 이러한 패턴은 예측으로 이어질 수 있습니다.

일반적인 용도

  • LLM: 대규모 언어 모델(Large Language Models)은 방대한 단어 데이터셋을 스캔하여 단어들이 어떻게 결합되는지 정확히 예측하도록 설계되었습니다.
  • 자동 완성 및 맞춤법 검사: 동일한 개념의 보다 원시적인 형태입니다. 단어를 구성하는 문자를 정확히 예측하도록 설계되었습니다.

임베딩 생성 방식

Steps To Create Embeddings

임베딩은 단순히 사람이 할당하는 것이 아니라 학습을 통해 생성됩니다. 유사성, 패턴, 궁극적으로 관계를 학습하기 위해 모델은 방대한 양의 데이터로 훈련되어야 합니다.

1단계: 데이터 수집

모델은 훈련을 위해 대규모 데이터셋이 필요합니다. 위키백과로 모델을 훈련시키면 위키백과의 사실을 학습하고 위키백과처럼 말하게 됩니다. 당사의 웹 스크래퍼 API는 실시간으로 고품질 데이터를 추출하는 데 도움을 줍니다.

모델은 거의 모든 것에 대해 훈련시킬 수 있습니다.

  • 텍스트: 책, PDF, 웹사이트 등
  • 이미지: 라벨링된 이미지, 픽셀 관계
  • 사용자 상호작용: 제품 추천, 브라우저 행동

2단계: 데이터를 벡터로 변환하기

앞서 배운 바와 같이, 기계는 사람이 읽을 수 있는 데이터로는 제대로 작동하지 않습니다. 이전 단계에서 수집한 데이터는 숫자 벡터로 변환해야 합니다.

인코딩에는 두 가지 유형이 있습니다:

  • 원핫 인코딩: 보다 기본적인 방식입니다. 이 형식에서는 모델이 데이터 내 관계를 포착할 수 없습니다.
  • 덴스 임베딩(Dense Embeddings): 현대 AI에서 더 흔히 사용됩니다. 밀접하게 관련된 객체(킹과 퀸)는 행렬 내에서 가깝게 그룹화됩니다.

3단계: 모델 훈련

임베딩을 생성하기 위해 모델은 아래와 같은 머신러닝 기법을 사용합니다.

  1. 단어 공동 발생(Word2Vec, GloVe)
    • 모델은 관계를 분석하고 학습하기 위해 방대한 양의 텍스트를 스캔합니다.
    • 비슷한 맥락에서 나타나는 단어들은 벡터 내에서 가깝게 그룹화됩니다.
    • 벡터에서 “파리”는 “프랑스”와 가깝게 위치하지만 “피자”와는 멀리 떨어져 있습니다.
  2. 문맥 학습 (BERT, GPT)
    • 트랜스포머 모델은 전체 문장의 문맥을 이해하도록 설계되었습니다.
    • 모델은 문맥에 기반하여 단어의 다양한 의미를 파악할 수 있습니다.
    • “강둑(river bank)”은 “은행에 있는 돈(money in the bank)”과는 완전히 다른 의미를 가지며, 트랜스포머 모델은 이를 이해합니다.

4단계: 미세 조정

모델이 훈련되면 미세 조정이 필요합니다. 모델을 미세 조정하려면 특정 작업에 맞게 임베딩을 조정합니다.

  • 검색 엔진은 쿼리를 더 잘 이해하기 위해 임베딩을 정교화합니다.
  • 추천 시스템은 사용자 행동에 기반하여 임베딩을 조정하는 경우가 많습니다.
  • LLM은 새로운 데이터에 기반하여 임베딩을 조정하기 위해 주기적인 미세 조정이 필요합니다.

결론

임베딩은 현대 AI 산업뿐만 아니라 기술 산업 전체의 핵심 요소입니다. 검색 결과부터 대규모 언어 모델(LLM)에 이르기까지 모든 것을 뒷받침합니다. 당사의 데이터셋을 통해 모델 훈련에 활용할 방대한 양의 양질의 데이터에 접근할 수 있습니다.

지금 가입하여 데이터셋 샘플을 포함한 무료 체험을 시작하세요.