기계 학습에서 임베딩이란 무엇인가요?
임베딩이란 기계 학습(ML) 및 인공 지능(AI) 시스템이 인간처럼 복잡한 지식 영역을 이해하는 데 사용하는 실제 객체를 수치로 표현한 것입니다. 예를 들어 컴퓨팅 알고리즘은 2와 3의 차이가 1이라는 것을 이해하는데, 이는 2와 3 사이의 관계가 2와 100에 비해 더 밀접하다는 것을 나타냅니다. 하지만 실제 데이터에는 더 복잡한 관계가 포함됩니다. 예를 들어 새 둥지와 사자굴은 비슷한 쌍이지만 낮과 밤은 서로 반대되는 개념입니다. 임베딩은 실제 데이터 간의 고유한 속성과 관계를 캡처하는 복잡한 수학적 표현으로 실제 객체를 변환합니다. AI 시스템이 훈련 중에 임베딩을 자체 생성하고 필요에 따라 이를 사용하여 새로운 작업을 완료함으로써 전체 프로세스가 자동화됩니다.
임베딩이 중요한 이유는 무엇인가요?
임베딩을 사용하면 딥 러닝 모델이 실제 데이터 도메인을 더 효과적으로 이해할 수 있습니다. 의미론적 관계 및 구문 관계를 유지하면서 실제 데이터가 표현되는 방식을 단순화합니다. 따라서 기계 학습 알고리즘이 복잡한 데이터 유형을 추출 및 처리하고 혁신적인 AI 애플리케이션을 지원할 수 있습니다. 다음 섹션에서는 몇 가지 중요한 요소에 대해 설명합니다.
데이터 차원 축소
데이터 사이언티스트는 임베딩을 사용하여 저차원 공간에 고차원 데이터를 표현합니다. 데이터 과학에서 차원이라는 용어는 일반적으로 데이터의 특성 또는 속성을 나타냅니다. AI의 고차원 데이터는 각 데이터 포인트를 정의하는 수많은 특성 또는 속성을 가진 데이터 세트를 의미합니다. 이는 수십, 수백 또는 수천 개의 차원을 의미할 수 있습니다. 예를 들어 각 픽셀 색상 값은 하나의 차원이므로, 이미지는 고차원 데이터로 간주할 수 있습니다.
고차원 데이터를 제공하는 딥 러닝 모델의 경우, 정확하게 학습, 분석 및 추론하는 데 더 많은 컴퓨팅 파워와 시간을 필요합니다. 임베딩은 다양한 특성 간의 공통점과 패턴을 식별하여 차원 수를 줄입니다. 따라서 원시 데이터를 처리하는 데 필요한 컴퓨팅 리소스와 시간이 줄어듭니다.
대규모 언어 모델 훈련
임베딩은 대규모 언어 모델(LLM)을 훈련할 때 데이터 품질을 개선합니다. 예를 들어 데이터 사이언티스트는 임베딩을 사용하여 모델 학습에 영향을 미치는 불규칙성을 훈련 데이터에 제거합니다. 또한 ML 엔지니어는 전이 학습을 위한 새 임베딩을 추가하여 사전 훈련된 모델의 용도를 변경할 수 있습니다. 이를 위해서는 새 데이터 세트로 파운데이션 모델을 개선해야 합니다. 임베딩을 통해 엔지니어는 실제 세상의 맞춤형 데이터 세트에 맞게 모델을 미세 조정할 수 있습니다.
혁신적인 애플리케이션 구축
임베딩은 새로운 딥 러닝 및 생성형 인공 지능(생성형 AI) 애플리케이션을 구현할 수 있게 합니다. 신경망 아키텍처에 적용되는 다양한 임베딩 기법을 통해 정확한 AI 모델을 개발 및 훈련하고 다양한 영역과 응용 분야에 배포할 수 있습니다. 예:
- 엔지니어는 이미지 임베딩을 사용하여 물체 감지, 이미지 인식 및 기타 시각 관련 작업을 위한 고정밀 컴퓨터 비전 애플리케이션을 구축할 수 있습니다.
- 자연어 처리 소프트웨어는 단어 임베딩을 통해 단어의 문맥과 관계를 보다 정확하게 이해할 수 있습니다.
- 그래프 임베딩은 상호 연결된 노드에서 관련 정보를 추출하고 분류하여 네트워크 분석을 지원합니다.
컴퓨터 비전 모델, AI 챗봇, AI 추천 시스템은 모두 임베딩을 사용하여 인간의 지능을 모방한 복잡한 작업을 완료합니다.
임베딩의 벡터란 무엇인가요?
ML 모델은 원시 형식의 정보를 명확하게 해석할 수 없으며, 입력으로 숫자 데이터를 필요로 합니다. 신경망 임베딩을 사용하여 실제 정보를 벡터라는 숫자 표현으로 변환합니다. 벡터는 다차원 공간의 정보를 나타내는 숫자 값으로, ML 모델이 희소하게 분포된 항목 간의 유사점을 찾는 데 도움이 됩니다.
ML 모델이 학습하는 모든 객체에는 다양한 특징 또는 특성이 있습니다. 간단한 예로 다음과 같은 영화와 TV 프로그램을 생각해보세요. 각각 장르, 유형 및 출시 연도라는 특징이 다릅니다.
The Conference(호러, 2023, 영화)
Upload(코미디, 2023, TV 프로그램, 시즌 3)
Tales from the Crypt(호러, 1989, TV 프로그램, 시즌 7)
Dream Scenario(호러 코미디, 2023, 영화)
ML 모델은 연도와 같은 숫자 변수를 해석할 수 있지만, 장르, 유형, 에피소드, 전체 시즌 수와 같은 숫자 이외의 변수는 비교할 수 없습니다. 임베딩 벡터는 숫자가 아닌 데이터를 ML 모델이 이해하고 상관관계를 분석할 수 있는 일련의 값으로 인코딩합니다. 예를 들어 다음은 앞서 나열한 TV 프로그램의 가상 표현입니다.
The Conference(1.2, 2023, 20.0)
Upload(2.3, 2023, 35.5)
Tales from the Crypt(1.2, 1989, 36.7)
Dream Scenario(1.8, 2023, 20.0)
벡터의 첫 번째 숫자는 특정 장르에 해당합니다. ML 모델은 The Conference와 Tales from the Crypt의 장르가 같다는 것을 알 수 있습니다. 마찬가지로, 모델은 형식, 시즌, 에피소드를 나타내는 세 번째 숫자를 기반으로 Upload와 Tales from the Crypt 사이에서 더 많은 관계를 찾아냅니다. 변수가 더 추가되면 모델을 미세 조정하여 더 작은 벡터 공간에 더 많은 정보를 압축할 수 있습니다.
임베딩은 어떻게 작동하나요?
임베딩은 원시 데이터를 ML 모델이 해석할 수 있는 연속 값으로 변환합니다. 일반적으로 ML 모델은 원-핫 인코딩을 사용하여 범주형 변수를 학습 가능한 형식으로 매핑합니다. 인코딩 방법에서는 각 범주를 행과 열로 나누고 이진 값을 할당합니다. 다음과 같은 농산물 카테고리와 그 가격을 예로 들 수 있습니다.
과일 |
요금 |
Apple |
5.00 |
오렌지 |
7.00 |
당근 |
10.00 |
원-핫 인코딩으로 값을 표현하면 다음 표와 같은 결과가 나타납니다.
Apple |
오렌지 |
배 |
요금 |
1 |
0 |
0 |
5.00 |
0 |
1 |
0 |
7.00 |
0 |
0 |
1 |
10.00 |
테이블은 벡터 [1,0,0,5.00], [0,1,0,7.00] 및 [0,0,1,10.00]로 수학적으로 표현됩니다.
원-핫 인코딩은 모델이 여러 객체를 서로 연관시키는 데 도움이 되는 정보를 제공하지 않으면서 0과 1의 차원 값을 확장합니다. 예를 들어 이 모델은 사과와 오렌지가 과일임에도 불구하고 유사점을 찾을 수 없으며 오렌지와 당근을 과일과 채소로 구분할 수도 없습니다. 목록에 더 많은 범주가 추가되면 인코딩으로 인해 변수가 희박하게 분산되고, 빈 값이 많아져 메모리 공간을 많이 소비하게 됩니다.
임베딩은 객체 간의 유사성을 숫자 값으로 표현하여 객체를 저차원 공간으로 벡터화합니다. 신경망 임베딩은 입력 특성이 확장된 경우에도 차원 수를 관리할 수 있도록 합니다. 입력 특성은 ML 알고리즘이 분석해야 하는 특정 객체의 특성입니다. 차원 축소를 통해, ML 모델이 입력 데이터에서 유사점과 차이점을 찾는 데 사용하는 정보를 임베딩에 유지할 수 있습니다. 또한 데이터 사이언티스트는 2차원 공간의 임베딩을 시각화하여 분산 객체의 관계를 보다 효과적으로 이해할 수 있습니다.
임베딩 모델이란 무엇인가요?
임베딩 모델은 정보를 다차원 공간의 조밀한 표현으로 캡슐화하도록 훈련된 알고리즘입니다. 데이터 사이언티스트는 임베딩 모델을 사용하여 ML 모델이 고차원 데이터를 이해하고 추론할 수 있도록 합니다. 이는 ML 애플리케이션에서 사용되는 일반적인 임베딩 모델입니다.
주 성분 분석
주 성분 분석(PCA)은 복잡한 데이터 유형을 저차원 벡터로 줄이는 차원 축소 기법입니다. 유사성이 있는 데이터 포인트를 찾아 원본 데이터를 반영하는 임베딩 벡터로 압축합니다. PCA를 사용하면 모델이 원시 데이터를 더 효율적으로 처리할 수 있지만 처리 중에 정보 손실이 발생할 수 있습니다.
특이값 분해
특이값 분해(SVD)는 행렬을 특이 행렬로 변환하는 임베딩 모델입니다. 결과 행렬은 원래 정보를 유지하면서, 모델이 데이터의 의미론적 관계를 더 잘 이해할 수 있도록 합니다. 데이터 사이언티스트는 SVD를 사용하여 이미지 압축, 텍스트 분류, 추천 등 다양한 ML 작업을 지원합니다.
Word2Vec
Word2Vec은 단어를 연결하고 임베딩 공간에 표현하도록 훈련된 ML 알고리즘입니다. 데이터 사이언티스트는 자연어를 이해할 수 있도록 대규모 텍스트 데이터 세트를 Word2Vec 모델에 제공합니다. 이 모델은 단어의 문맥과 의미론적 관계를 고려하여 단어의 유사성을 찾습니다.
Continuous Bag of Words(CBOW)와 Skip-gram이라는 Word2Vec의 두 가지 변형된 형태가 있습니다. CBOW를 사용하면 모델이 주어진 문맥에서 단어를 예측할 수 있고, Skip-gram은 주어진 단어에서 문맥을 도출합니다. Word2Vec은 효과적인 단어 임베딩 기법이지만 서로 다른 의미로 사용된 동일한 단어의 문맥상 차이를 정확하게 구분할 수는 없습니다.
BERT
BERT는 인간처럼 언어를 이해할 수 있도록 대규모 데이터 세트로 훈련된 변환기 기반 언어 모델입니다. Word2Vec과 마찬가지로, BERT는 훈련된 입력 데이터에서 단어 임베딩을 생성할 수 있습니다. 또한 BERT를 다른 문구에 적용할 때 단어의 문맥상 의미를 구분할 수 있습니다. 예를 들어 BERT는 'I went to a play', 'I like to play'와 같이 'play'에 대한 다양한 임베딩을 생성합니다.
임베딩은 어떻게 생성되나요?
엔지니어는 신경망을 사용하여 임베딩을 생성합니다. 신경망은 복잡한 결정을 반복적으로 하는 숨겨진 뉴런 계층으로 구성됩니다. 임베딩을 생성할 때는 숨겨진 계층 중 하나가 입력 특성을 벡터로 분해하는 방법을 학습합니다. 이는 특성 처리 계층 이전에 발생합니다. 이 프로세스는 다음 단계에 따라 엔지니어가 감독하고 안내합니다.
- 엔지니어가 수동으로 준비한 일부 벡터화된 샘플을 신경망에 공급합니다.
- 신경망이 샘플에서 발견된 패턴을 학습하고, 이 지식을 사용하여 보이지 않는 데이터에서 정확한 예측을 수행합니다.
- 경우에 따라 엔지니어는 입력 특성을 적절한 차원 공간에 분배하기 위해 모델을 미세 조정해야 할 수도 있습니다.
- 시간이 지남에 따라 임베딩은 독립적으로 작동하므로, ML 모델이 벡터화된 표현에서 권장 사항을 생성할 수 있습니다.
- 엔지니어가 계속해서 임베딩 성능을 모니터링하고 새로운 데이터로 미세 조정합니다.
AWS는 임베딩 요구 사항을 어떻게 지원하나요?
Amazon Bedrock은 생성형 인공 지능(생성형 AI) 애플리케이션을 구축하는 데 필요한 포괄적인 기능 세트와 함께, 주요 AI 기업의 고성능 파운데이션 모델(FM)을 선택할 수 있는 옵션을 제공하는 완전관리형 서비스입니다. Amazon Bedrock Titan 파운데이션 모델은 AWS가 대규모 데이터 세트를 사용하여 사전 훈련한 FM 제품군으로, 다양한 사용 사례를 지원하도록 설계된 강력한 범용 모델을 제공합니다. 그대로 사용하거나 자체 데이터로 맞춤화할 수 있습니다.
Titan Embeddings는 텍스트를 숫자 표현으로 변환하는 LLM입니다. Titan Embeddings 모델은 텍스트 검색, 의미론적 유사성 및 클러스터링을 지원합니다. 최대 8,000개의 토큰까지 텍스트를 입력할 수 있으며, 최대 출력 벡터 길이는 1,536입니다.
기계 학습 팀에서는 Amazon SageMaker를 사용하여 임베딩을 생성할 수도 있습니다. Amazon SageMaker는 안전하고 확장 가능한 환경에서 ML 모델을 구축, 훈련 및 배포할 수 있는 허브입니다. 엔지니어가 저차원 공간에서 고차원 데이터를 벡터화할 수 있는 Object2Vec이라는 임베딩 기술을 제공합니다. 학습한 임베딩을 사용하여 분류 및 회귀와 같은 다운스트림 작업을 위해 객체 간의 관계를 계산할 수 있습니다.
지금 계정을 만들어 AWS에서 임베딩을 시작하세요.