Share
Sign In
Lighthouse LLM
Embedding이란 무엇인가? 쉽게 배우는 AI
L
Lighthouse
👍🏻👍
3
😉
1
들어가며
인공지능(AI) 분야에서 'Embedding'이란 단어를 종종 듣게 됩니다. 하지만 이 용어가 무엇을 의미하는지, 왜 중요한지 이해하기 어려울 수 있습니다. 이 글에서는 Embedding이 무엇인지, 그리고 AI에서 어떻게 사용되는지 쉽게 설명해보겠습니다.
Embedding의 기본 개념
AI 모델은 숫자로 된 데이터를 가지고 작동합니다. 하지만 실제 세계의 데이터, 특히 텍스트나 이미지 같은 비정형 데이터는 숫자가 아닙니다. Embedding을 통해 이러한 비정형 데이터를 AI 모델이 이해할 수 있는 형태로 변환할 수 있습니다.
Embedding의 종류
1.
텍스트 Embedding
가장 널리 알려진 형태의 Embedding입니다. 텍스트 Embedding은 단어, 문장, 문단을 수치 벡터로 변환합니다. 예를 들어, '사과'라는 단어를 [0.65, -0.23, 0.11] 같은 벡터로 나타낼 수 있습니다. 이를 통해 컴퓨터는 '사과'라는 단어의 의미를 어느 정도 이해할 수 있게 됩니다.
2.
이미지 Embedding
이미지 Embedding은 이미지 데이터를 처리할 때 사용됩니다. 각 이미지를 대표하는 벡터로 변환하여, 이미지의 내용이나 스타일을 수치적으로 표현할 수 있습니다.
3.
그래프 Embedding
소셜 네트워크나 추천 시스템에서 사용되는 그래프 데이터를 위한 Embedding 방법입니다. 이는 복잡한 네트워크 구조를 단순한 벡터 형태로 표현하여, 관계나 연결성 분석을 용이하게 합니다.
Embedding의 활용 예시
자연어 처리 (NLP): 텍스트 Embedding은 NLP에서 필수적입니다. 이를 통해 기계 번역, 감정 분석, 챗봇 개발 등 다양한 응용이 가능합니다.
이미지 인식: 이미지 Embedding은 사진에서 객체를 인식하거나 스타일을 분석하는 데 사용됩니다. 예를 들어, 얼굴 인식 시스템이 여기에 해당합니다.
추천 시스템: 사용자와 상품 정보를 Embedding으로 변환하여, 사용자의 취향에 맞는 상품을 추천하는 데 활용됩니다.
결론
Embedding은 AI 분야에서 중요한 개념입니다. 비정형 데이터를 수치적 형태로 변환함으로써, AI 모델이 이를 이해하고, 다양한 문제를 해결하는 데 도움을 줍니다. 이러한 기술의 발전으로 인공지능은 우리 생활에 더욱 깊숙이 자리 잡게 될 것입니다.
Kp
Subscribe to 'kpmg-lighthouse'
Welcome to 'kpmg-lighthouse'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to 'kpmg-lighthouse'!
Subscribe
👍🏻👍
3
😉
1
Eunyoung Lee
Llama 3
이번 글에서는 메타의 LLM인 Llama3에 대해 살펴보도록 하겠습니다. LLaMA(Large Language Model Meta AI) 모델 메타의 오픈소스 LLM 모델로 2023년 2월에 Llama1이 처음 발표되었다. 트랜스포머 아키텍처를 기반으로 하며, Llama2의 경우 Llama1에서 학습 데이터를 40% 더 많이 사용하였다. 7B, 13B, 70B 등 여러 파라미터 사이즈의 모델이 존재하며, Alpaca와 Vinuca 같이 수많은 파생 모델이 존재한다. GPT-3와의 차이점 GeLU 대신 SwiGLU 활성화 함수 사용 Swish와 GLU의 조합인 활성화 함수로 실험적으로 성능이 뛰어나서 사용 Swish는 학습 가능한 파라미터인 $β$ 값에 따라 다른 특성을 가지는 활성화 함수 GLU(Gated Linear Units)는 모델이 신경망에서 정보가 흐르는 것을 선택적으로 조절할 수 있도록 해주는 방법 SwiGLU에서 β, W, b는 모두 학습 가능한 파라미터 SwiGLU(x) = x * sigmoid(β * x) + (**1** - sigmoid(β * x)) * (Wx + b) 절대 위치 임베딩 대신 Rotary Positional Embedding(RoPE) 사용 트랜스포머는 위치를 고려 못하기 때문에 위치 임베딩 추가 필요 기존 트랜스포머는 절대 위치 임베딩을 사용하여 위치에 따른 사인함수와 코사인 함수 값을 더하는 방식을 사용 RoPE는 시퀀스의 각 위치마다 고유한 값의 회전을 통하여 절대 위치 임베딩과 상대 위치 임베딩을 통합하는 방법 Root-Mean-Square(제곱평균제곱근) 레이어 정규화 사용 모델이 재스케일링에 영향을 받지 않고, 적절한 학습률을 자동으로 찾아가는 암시적 학습률 적응 능력을 갖게 됨 기본 레이어 정규화에 비하여 계산이 효율적이고 안정적 Grouped Query Attention 사용 기존 Multihead Attention에서는 계산된 key와 value 벡터를 디코딩 단계에 쓸 수 있도록 저장하는 Key-Value caching 때문에 연산에 비용이 많이 소요되고, 디코딩 단계마다 캐시를 로드하고 업데이트 해야 하기 때문에 메모리 오버헤드 발생 Grouped Query Attention은 Query를 그룹으로 나누고 각 그룹이 Key와 Value를 공유하도록 하여 긴 컨텍스트에서 어텐션 계산을 더 빨리 할 수 있도록 함
👍🏻
1
최윤진
DALLE 는 어떻게 이미지를 생성할까 ?
이번 글에서는 텍스트로 이미지를 생성할 수 있는(text to image) 모델인 DALLE에 대해 살펴보도록 하겠습니다. Image Generation 이미지 생성 분야의 경우 2014년 부터 GAN이라는 모델을 기반으로 빠르게 발전해왔습니다. 현재는 사람의 그림과 AI가 생성한 그림을 구분하는 게 불가능에 가까울 정도로 고도화 된 상황입니다. 2022년에는 미드저니라는 이미지 생성 AI 모델의 작품을 이용하여 그림 대회에서 우승한 사건이 있었습니다. DALLE를 살펴보기 앞서, GenAI에 대해 먼저 살펴보도록 하겠습니다. Gen AI Representation 일반적으로는 딥러닝 모델은 데이터의 정답을 기반으로 지도학습을 수행합니다. 개와 고양이를 구분하는 분류 문제를 푸는 경우, 이 과정에서 모델은 서로 다른 클래스의 구분하는 함수를 근사합니다. 오버피팅, 언더피팅이 되지 않고 잘 학습된 모델은 새로운 데이터에 대해서도 올바르게 예측을 할 수 있습니다. 이때 모델을 보고 데이터를 잘 representation 했다고 말합니다. AlexNet은 MNIST 손글씨 데이터셋 대해 잘 분류를 해냈기 때문에 MNIST 손글씨 데이터셋에 대해 좋은 representation 가진 모델이라 할 수 있습니다. Generation 하지만 이런 Representation을 잘한다고 해서 Generation 잘 하지는 않습니다. 영어를 잘 읽고 듣는 사람이, 쓰거나 말하지 못하는 경우와 마찬가지 입니다. 그런 이유로 Generation을 잘 할 수 있도록 모델을 설계하는 분야가 GenAI로써 별도로 존재합니다. GenAI 모델은 representaion Model 의 도움을 받아 생성을 수행할 수도 있으며 단독으로 생성을 학습할 수 도 있습니다.
최윤진
데이터 전처리와 정규표현식
이번 글에서는 딥러닝 학습에서 데이터가 가지는 중요성을 살펴보고, 데이터 전처리에 사용되는 정규표현식에 대해 살펴보겠습니다. 1. 딥러닝 성공 배경 딥러닝이 성공할 수 있었던 이유는 크게 3가지 입니다. Algorithms AlexNet, CNN, RNN, Transformer, BERT, GPT .. Computation V100, A100 .. Data MNIST, CIFAR, WikiText .. Data - Model - Cuda 먼저, Backpropagation, ReLU, Dropout, CNN 과 같은 기술들을 통해 AlexNet 이 만들어졌습니다. 시계열 데이터의 경우 RNN-LSTM-Transformer-BERT/GPT 로 이어지는 모델 계보가 있습니다. 이러한 모델 아키텍쳐가 있었기 때문에 딥러닝이 성공할 수 있었습니다. 다음 Computation 능력의 경우 병렬 처리가 가능한 좋은 GPU가 덕분에 효과적으로 학습과 추론을 할 수 있었고, 이 때문에 딥러닝이 성공할 수 있었습니다. 마지막으로 데이터입니다. 딥러닝 모델과 GPU 모두 양질의 데이터가 있을 때 비로소 의미가 있습니다. MNIST, CIFAR, WikiText 와 같은 품질 좋은 거대 데이터셋이 있었기 때문에 오차 계산의 재료가 충분했습니다. 소프트웨어 개발에 있어서 코드(Code)는 딥러닝 개발에 있어서 데이터와 같습니다. 2. 데이터 & 데이터 전처리 필요성
😀👍🏻
2