인공 지능의 변환기란 무엇인가요?

변환기는 입력 시퀀스를 출력 시퀀스로 변환하거나 변경하는 일종의 신경망 아키텍처입니다. 컨텍스트를 학습하고 시퀀스 구성 요소 간의 관계를 추적하여 이를 수행합니다. 예를 들어 “하늘의 색은 무엇인가요?”라는 입력 시퀀스를 생각해볼 수 있습니다. 변환기 모델은 색상, 하늘, 파란색이라는 단어 간의 관련성과 관계를 식별하는 내부 수학적 표현을 사용합니다. 이 지식을 사용하여 "하루는 파랗습니다."라는 결과를 생성합니다. 

조직에서는 음성 인식부터 기계 번역 및 단백질 서열 분석에 이르기까지 모든 유형의 서열 변환에 변환기 모델을 사용합니다.

신경망에 대해 읽어보기

인공 지능(AI)에 관해 읽어보기

변환기는 왜 중요할까요?

컴퓨터가 인간의 자연어를 이해하고 이에 반응하도록 하는 것을 목표로 하는 자연어 처리(NLP) 작업에 광범위하게 초점을 맞춘 것이 초기 딥 러닝 모델입니다. 초기 모델은 이전 단어를 기반으로 다음 단어를 순서대로 추측했습니다.

이를 더 잘 이해하려면 스마트폰의 자동 완성 기능을 생각해볼 수 있습니다. 입력한 단어 쌍의 빈도를 기반으로 제안을 제공합니다. 예를 들어, "I am fine"이라고 자주 입력하는 경우 am을 입력하면 휴대폰에서 자동으로 fine을 제안합니다.

초기 기계 학습(ML) 모델은 유사한 기술을 광범위하게 적용했습니다. 그들은 훈련 데이터 세트에 있는 서로 다른 단어 쌍 또는 단어 그룹 간의 관계 빈도를 매핑하고 다음 단어를 추측했습니다. 그러나 초기 기술에서는 특정 입력 길이 이상의 컨텍스트를 유지할 수 없었습니다. 예를 들어 초기 ML 모델은 단락의 첫 문장과 마지막 문장 사이의 컨텍스트를 유지할 수 없었기 때문에 의미 있는 단락을 생성할 수 없었습니다. “저는 이탈리아에서 왔습니다. 저는 승마를 좋아해요. 이탈리아어를 할 줄 알아요“와 같은 출력을 생성하려면 모델은 이탈리아와 이탈리아어의 관계를 기억해야 하는데, 초기의 신경망에서는 불가능했습니다.

변환기 모델은 모델이 텍스트에서 이러한 장거리 종속성을 처리할 수 있도록 함으로써 NLP 기술을 근본적으로 변화시켰습니다. 변환기의 다양한 이점은 다음과 같습니다.

대규모 모델 지원

변환기는 병렬 연산을 통해 긴 시퀀스 전체를 처리하므로 훈련 시간과 처리 시간이 크게 단축됩니다. 이를 통해 복잡한 언어 표현을 학습할 수 있는 GPT 및 BERT와 같은 대규모 언어 모델(LLM)의 교육이 가능해졌습니다. 그들은 광범위한 인간 언어와 지식을 캡처하는 수십억 개의 파라미터를 가지고 있으며, 더욱 일반화가 가능한 AI 시스템을 향한 연구를 추진하고 있습니다.

대규모 언어 모델에 대해 읽어보기

GPT에 대해 읽어보기

더 빠른 사용자 지정 지원

변환기 모델을 사용하면 전이 학습 및 검색 증강 생성(RAG)과 같은 기법을 사용할 수 있습니다. 이러한 기술을 통해 산업 조직별 응용 분야에 따라 기존 모델을 사용자 지정할 수 있습니다. 모델은 대규모 데이터 세트에서 사전 훈련한 다음 더 작은 작업별 데이터 세트에서 미세 조정할 수 있습니다. 이 접근 방식은 정교한 모델의 사용을 대중화하고 대규모 모델을 처음부터 훈련할 때 발생하는 리소스 제약의 제한을 제거했습니다. 모델은 다양한 사용 사례의 여러 도메인 및 작업에서 잘 작동할 수 있습니다.

다중 모달 AI 시스템 촉진

변환기를 사용하면 복잡한 데이터 세트를 결합하는 작업에 AI를 사용할 수 있습니다. 예를 들어, DALL-E와 같은 모델은 변환기가 NLP와 컴퓨터 비전 기능을 결합하여 텍스트 설명에서 이미지를 생성할 수 있음을 보여줍니다. 변환기를 사용하면 다양한 정보 유형을 통합하고 인간의 이해와 창의성을 더욱 밀접하게 모방하는 AI 애플리케이션을 만들 수 있습니다.

컴퓨터 비전에 대해 읽어보기

AI 연구 및 산업 혁신

변환기는 차세대 AI 기술과 AI 연구를 창출하여 ML에서 가능한 것의 한계를 넓혔습니다. 이들의 성공은 혁신적인 문제를 해결하는 새로운 아키텍처와 애플리케이션에 영감을 주었습니다. 이를 통해 머신은 인간의 언어를 이해하고 생성할 수 있으며, 그 결과 고객 경험을 향상시키고 새로운 비즈니스 기회를 창출하는 애플리케이션이 탄생했습니다.

변환기의 사용 사례에는 어떤 것들이 있나요?

인간의 언어, 음악 작곡, 프로그래밍 언어 등과 같은 순차 데이터를 기반으로 대규모 변환기 모델을 훈련할 수 있습니다. 다음은 몇 가지 사용 사례 예입니다.

자연어 처리

변환기는 머신이 그 어느 때보다 정확한 방식으로 인간의 언어를 이해하고 해석하고 생성할 수 있도록 합니다. 대용량 문서를 요약하고 모든 종류의 사용 사례에 대해 일관되고 상황에 맞는 텍스트를 생성할 수 있습니다. Alexa와 같은 가상 어시스턴트는 변환기 기술을 사용하여 음성 명령을 이해하고 이에 응답합니다.

기계 번역

번역 애플리케이션은 변환기를 사용하여 언어 간에 정확한 실시간 번역을 제공합니다. 변환기는 이전 기술에 비해 번역의 유창성과 정확성을 크게 개선했습니다.

기계 번역에 대해 읽어보기

DNA 염기서열 분석

변환기는 DNA의 일부를 언어와 유사한 시퀀스로 취급함으로써 유전자 돌연변이의 영향을 예측하고 유전 패턴을 이해하며 특정 질병을 일으키는 DNA 영역을 식별하는 데 도움을 줄 수 있습니다. 개인의 유전자 구성을 이해할 때 보다 효과적인 치료로 이어질 수 있는 맞춤형 의료에 있어 이러한 능력은 매우 중요합니다.

단백질 구조 분석

변환기 모델은 순차 데이터를 처리할 수 있으므로 복잡한 단백질 구조로 접히는 긴 아미노산 사슬을 모델링하는 데 매우 적합합니다. 단백질 구조를 이해하는 것은 신약을 발견하고 생물학적 과정을 이해하는 데 있어 매우 중요합니다. 또한 아미노산 서열을 기반으로 단백질의 3차원 구조를 예측하는 응용 분야에서 변환기를 사용할 수 있습니다.

변환기는 어떻게 작동하나요?

신경망은 2000년대 초반부터 이미지 인식 및 NLP와 같은 다양한 AI 작업에서 선도적인 방법으로 자리 잡았습니다. 이들은 인간의 두뇌를 모방하고 함께 작동하여 복잡한 문제를 해결하는 상호 연결된 컴퓨팅 노드 또는 뉴런의 레이어로 구성됩니다.

데이터 시퀀스를 처리하는 기존의 신경망은 인코더/디코더 아키텍처 패턴을 사용하는 경우가 많습니다. 인코더는 영어 문장과 같은 전체 입력 데이터 시퀀스를 읽고 처리하여 간결한 수학적 표현으로 변환합니다. 이 표현은 입력의 본질을 포착하는 요약입니다. 그런 다음 디코더는 이 요약을 가져와 단계별로 출력 시퀀스를 생성합니다. 이 출력 시퀀스는 프랑스어로 번역된 동일한 문장일 수 있습니다.

이 프로세스는 순차적으로 진행되므로 데이터의 각 단어 또는 일부를 차례로 처리해야 합니다. 이 과정은 느리고 길이가 길 때에는 미세한 디테일이 손실될 수 있습니다.

셀프 어텐션 메커니즘

트랜스포머 모델은 셀프 어텐션 메커니즘을 통합하여 이 프로세스를 수정합니다. 데이터를 순서대로 처리하는 대신 이 메커니즘을 통해 모델은 시퀀스의 여러 부분을 한 번에 살펴보고 어떤 부분이 가장 중요한지 결정할 수 있습니다. 

바쁜 방에서 누군가의 이야기를 들으려고 한다고 상상할 수 있습니다. 뇌는 자동으로 목소리에 초점을 맞추고 덜 중요한 소음은 제거합니다. 셀프 어텐션을 사용하면 모델이 비슷한 작업을 수행할 수 있습니다. 즉, 관련 정보 비트에 더 많은 주의를 기울이고 이를 결합하여 더 나은 결과 예측을 할 수 있습니다. 이 메커니즘은 변환기의 효율성을 높여 더 큰 데이터 세트에서 훈련할 수 있도록 합니다. 또한 더 효과적입니다. 특히 거리가 먼 뒤의 컨텍스트가 다음에 나올 내용의 의미에 영향을 미칠 수 있는 긴 텍스트를 다룰 때 더욱 그렇습니다.

변환기 아키텍처의 구성 요소에는 무엇이 있나요?

변환기 신경망 아키텍처에는 최종 출력을 생성하기 위해 함께 작동하는 다양한 소프트웨어 계층이 있습니다. 다음 이미지는 이 섹션의 나머지 부분에 설명된 대로 변환 아키텍처의 구성 요소를 보여줍니다.


입력 임베딩

이 단계는 입력 시퀀스를 소프트웨어 알고리즘이 이해하는 수학적 영역으로 변환합니다. 처음에는 입력 시퀀스를 일련의 토큰 또는 개별 시퀀스 구성 요소로 나눕니다. 예를 들어 입력이 문장이면 토큰은 단어입니다. 그런 다음 임베딩은 토큰 시퀀스를 수학적 벡터 시퀀스로 변환합니다. 벡터는 숫자로 표현되는 의미 및 구문 정보를 전달하며, 벡터의 속성은 훈련 과정에서 학습됩니다.

벡터를 n차원 공간에서 일련의 좌표로 시각화할 수 있습니다. 간단한 예제로, 2차원 그래프를 생각할 수 있습니다. 여기서 x는 단어의 첫 글자의 영숫자 값을 나타내고 y는 단어의 범주를 나타냅니다. 바나나라는 단어는 문자 b로 시작하고 과일 범주에 속하기 때문에 값이 (2,2)입니다. 망고라는 단어는 m으로 시작하고 과일 범주에 속하기 때문에 값이 (13,2)입니다. 이런 식으로 벡터 (x, y)는 신경망에 바나나망고라는 단어가 같은 범주에 속한다는 것을 알려줍니다. 

이제 일련의 숫자에 매핑된 문장에서 단어의 문법, 의미 및 용도에 대한 수천 가지 속성을 가진 n차원 공간을 상상해볼 수 있습니다. 소프트웨어는 숫자를 사용하여 수학 용어로 단어 간의 관계를 계산하고 인간 언어 모델을 이해할 수 있습니다. 임베딩은 이산 토큰을 모델이 처리하고 학습할 수 있는 연속형 벡터로 표현하는 방법을 제공합니다.

위치 인코딩

위치 인코딩은 모델 자체가 본질적으로 순차 데이터를 순서대로 처리하지 않기 때문에 변환기 아키텍처의 중요한 구성 요소입니다. 변환기에는 입력 시퀀스의 토큰 순서를 고려할 방법이 필요합니다. 위치 인코딩은 각 토큰의 임베딩에 정보를 추가하여 시퀀스에서의 위치를 나타냅니다. 이는 주로 각 토큰의 임베딩에 추가되는 고유한 위치 신호를 생성하는 함수 세트를 사용하여 수행됩니다. 위치 인코딩을 사용하면 모델이 토큰의 순서를 보존하고 시퀀스 컨텍스트를 이해할 수 있습니다.

변환기 블록

일반적인 변환기 모델에는 여러 변환기 블록이 함께 적층되어 있습니다. 각 변환기 블록에는 멀티헤드 셀프 어텐션 메커니즘과 위치별 피드포워드 신경망이라는 두 가지 주요 구성 요소가 있습니다. 셀프 어텐션 메커니즘을 통해 모델은 시퀀스 내에 있는 다양한 토큰의 중요도를 평가할 수 있습니다. 예측을 할 때 입력의 관련 부분에 초점을 맞춥니다.

예를 들어, “거짓말을 하지 마세요(Speak no lies)”와 “그는 누웠다(He lies down)라는 문장을 생각해볼 수 있습니다. 두 문장 모두에서 lies이라는 단어의 의미는 옆에 있는 단어를 보지 않고는 이해할 수 없습니다. 정확한 의미를 이해하려면 speakdown이라는 단어가 필수적입니다. 셀프 어텐션을 통해 컨텍스트에 맞는 관련 토큰을 그룹화할 수 있습니다.

피드포워드 계층에는 변환기 모델이 보다 효율적으로 훈련하고 기능하는 데 도움이 되는 추가 구성 요소가 있습니다. 예를 들어, 각 변환기 블록에는 다음이 포함됩니다.

  • 단축키와 같은 역할을 하는 두 개의 주요 구성 요소 주위의 연결 이를 통해 네트워크의 한 부분에서 다른 부분으로 정보가 흐를 수 있으므로 중간에 특정 작업을 건너뛸 수 있습니다.
  • 숫자, 특히 네트워크에 있는 여러 계층의 출력값을 특정 범위 내로 유지하여 모델이 원활하게 학습할 수 있도록 하는 계층 정규화입니다.
  • 선형 변환 기능을 통해 모델이 훈련 중인 작업을 더 잘 수행할 수 있도록 값을 조정합니다(예: 번역이 아닌 문서 요약).

선형 및 소프트맥스 블록

궁극적으로 모델은 시퀀스의 다음 단어를 선택하는 것과 같은 구체적인 예측을 해야 합니다. 이것이 바로 선형 블록이 필요한 곳입니다. 최종 단계 이전의 또 다른 완전 연결 계층(밀집 계층이라고도 함)입니다. 벡터 공간에서 원래 입력 도메인으로 학습된 선형 매핑을 수행합니다. 이 중요한 계층은 모델의 의사 결정 부분이 복잡한 내부 표현을 가져와 해석하고 사용할 수 있는 특정 예측으로 다시 전환하는 곳입니다. 이 계층의 출력은 가능한 각 토큰에 대한 점수 집합(종종 로짓이라고도 함)입니다.

softmax 함수는 로짓 점수를 가져와 확률 분포로 정규화하는 마지막 단계입니다. softmax 출력의 각 요소는 특정 클래스 또는 토큰에 대한 모델의 신뢰도를 나타냅니다.

변환기는 다른 신경망 아키텍처와 어떻게 다른가요?

순환 신경망(RNN)과 컨벌루션 신경망(CNN)은 기계 학습 및 딥 러닝 작업에 자주 사용되는 다양한 신경망입니다. 다음은 변환기와의 관계를 살펴봅니다.

변환기 vs. RNN

변환기 모델과 RNN은 모두 순차 데이터를 처리하는 데 사용되는 아키텍처입니다.

RNN은 데이터 시퀀스를 한 번에 한 개의 요소씩 주기적 반복을 통해 처리합니다. 이 과정은 입력 계층이 시퀀스의 첫 번째 요소를 받는 것으로 시작됩니다. 그런 다음 정보는 은닉 계층으로 전달되며, 은닉 계층은 입력을 처리하고 출력을 다음 타임 스텝으로 전달합니다. 이 출력은 시퀀스의 다음 요소와 결합되어 은닉 계층으로 피드백됩니다. 이 주기는 시퀀스의 각 요소에 대해 반복되며, RNN은 각 타임 스텝에서 업데이트되는 은닉 상태 벡터를 유지합니다. 이 프로세스를 통해 RNN은 과거 입력의 정보를 효과적으로 기억할 수 있습니다.

반대로 변환기는 전체 시퀀스를 동시에 처리합니다. 이러한 병렬화를 통해 훈련 시간이 훨씬 빨라지고 RNN보다 훨씬 더 긴 시퀀스를 처리할 수 있습니다. 변환기의 셀프 어텐션 메커니즘을 통해 모델은 전체 데이터 시퀀스를 동시에 고려할 수도 있습니다. 따라서 반복되거나 숨겨진 벡터가 필요하지 않습니다. 대신 위치 인코딩은 시퀀스에서 각 요소의 위치에 대한 정보를 유지합니다.

변환기는 장거리 종속성을 더 효과적으로 처리할 수 있기 때문에 많은 애플리케이션, 특히 NLP 작업에서 RNN을 크게 대체했습니다. 또한 RNN보다 확장성과 효율성이 뛰어납니다. RNN은 특히 장거리 상호 작용을 캡처하는 것보다 모델 크기와 계산 효율성이 더 중요한 특정 상황에서 여전히 유용합니다.

변환기 vs. CNN

CNN은 공간 계층 구조와 지역성이 핵심인 이미지와 같은 그리드와 유사한 데이터를 위해 설계되었습니다. 컨벌루션 계층을 사용하여 입력에 필터를 적용하고 필터링된 뷰를 통해 로컬 패턴을 캡처합니다. 예를 들어 이미지 처리에서 초기 계층은 가장자리나 텍스처를 감지하고, 더 깊은 계층은 모양이나 물체와 같은 더 복잡한 구조를 인식할 수 있습니다.

변환기는 주로 순차 데이터를 처리하도록 설계되었으며 이미지를 처리할 수 없었습니다. 이제 비전 변환기 모델은 이미지를 순차 형식으로 변환하여 처리하고 있습니다. 그러나 CNN은 많은 실용적인 컴퓨터 비전 응용 분야에서 여전히 매우 효과적이고 효율적인 선택입니다.

변압기 모델에는 어떤 유형이 있나요?

변환기는 다양한 아키텍처 제품군으로 발전했습니다. 일부 유형의 변환기 모델은 다음과 같습니다.

양방향 변환기

변환기의 양방향 인코더 표현(BERT) 모델은 단어를 단독으로 처리하지 않고 문장의 다른 모든 단어와 관련하여 처리하도록 기본 아키텍처를 수정합니다. 엄밀히 말하면 양방향 마스킹 언어 모델(MLM)이라는 메커니즘을 사용합니다. 사전 훈련 중에 BERT는 입력 토큰의 일정 비율을 무작위로 마스킹하고 컨텍스트를 기반으로 이러한 마스킹된 토큰을 예측합니다. 양방향 측면은 BERT가 이해도를 높이기 위해 두 계층의 왼쪽에서 오른쪽 토큰 시퀀스와 오른쪽에서 왼쪽 토큰 시퀀스를 모두 고려한다는 사실에서 비롯됩니다.

사전 훈련된 생성형 변환기

GPT 모델은 언어 모델링 목표를 사용하여 대량의 텍스트에 대해 사전 훈련된 스택형 변환기 디코더를 사용합니다. 이 값은 자기 회귀적이므로 모든 이전 값을 기반으로 시퀀스의 다음 값을 회귀하거나 예측합니다. 1,750억 개 이상의 파라미터를 사용하여 GPT 모델은 스타일과 톤에 맞게 조정된 텍스트 시퀀스를 생성할 수 있습니다. GPT 모델은 인공 일반 지능을 달성하기 위한 AI 연구를 촉발했습니다. 즉, 조직은 애플리케이션과 고객 경험을 재창조하는 동시에 새로운 수준의 생산성을 달성할 수 있습니다.

양방향 및 자기 회귀 변환기

양방향 및 자동 회귀 변환기(BART)는 양방향 및 자기 회귀 특성을 결합한 변환기 모델의 한 유형입니다. BERT의 양방향 인코더와 GPT의 자기 회귀 디코더를 혼합한 것과 같습니다. 전체 입력 시퀀스를 한 번에 읽으며 BERT와 같이 양방향입니다. 하지만 이전에 생성된 토큰과 인코더가 제공한 입력에 따라 한 번에 한 토큰씩 출력 시퀀스를 생성합니다.

다중 모달 작업을 위한 변환기

ViLBERT 및 VisualBERT와 같은 다중 모달 변환기 모델은 여러 유형의 입력 데이터(일반적으로 텍스트 및 이미지)를 처리하도록 설계되었습니다. 정보를 융합하기 전에 시각적 입력과 텍스트 입력을 별도로 처리하는 듀얼 스트림 네트워크를 사용하여 변환기 아키텍처를 확장합니다. 이 설계를 통해 모델은 교차 모드 표현을 학습할 수 있습니다. 예를 들어, ViLBERT는 공동 어텐션 변환기 계층을 사용하여 개별 스트림이 상호 작용할 수 있도록 합니다. 시각적 질문에 답하는 작업과 같이 텍스트와 이미지 간의 관계를 이해하는 것이 중요한 상황에서 특히 유용합니다.

비전 변환기

비전 변환기(ViT)는 이미지 분류 작업을 위해 변환기 아키텍처의 용도를 변경합니다. 이미지를 픽셀 그리드로 처리하는 대신 이미지 데이터를 일련의 고정 크기 패치로 간주합니다. 이는 문장에서 단어를 처리하는 방식과 유사합니다. 각 패치는 평면화되고 선형적으로 내장된 다음 표준 변환기 엔코더로 순차적으로 처리됩니다. 공간 정보를 유지하기 위해 위치 임베딩이 추가됩니다. 이러한 글로벌 셀프 어텐션 활용을 통해 모델은 위치에 관계없이 모든 패치 쌍 간의 관계를 캡처할 수 있습니다.

AWS는 변환기 모델 요구 사항을 어떻게 지원하나요?

Amazon Web Services(AWS)는 변환기 모델 요구 사항에 사용할 수 있는 다음과 같은 AI/ML 서비스를 제공합니다.

Amazon SageMaker JumpStart는 사전 학습된 변환기 모델에 액세스하여 문서 요약 및 이미지 생성과 같은 작업을 수행할 수 있는 ML 허브입니다. 사전 학습된 모델은 데이터를 사용하여 사용 사례에 맞게 완전히 맞춤화할 수 있으며 사용자 인터페이스 또는 SDK를 사용하여 이를 프로덕션 환경에 쉽게 배포할 수 있습니다.

Amazon Bedrock은 AI21 Labs, Anthropic, Cohere, Meta, Stability AI, Amazon 등 주요 AI 기업의 고성능 변환기 모델을 단일 API로 선택할 수 있는 완전관리형 서비스입니다. Amazon Bedrock은 생성형 AI 애플리케이션을 구축하는 데 필요한 광범위한 기능을 통해 개인정보 보호 및 보안을 유지하면서 개발을 간소화합니다. 예를 들면,

  • 다양한 상위 파운데이션 모델을 쉽게 실험하고 데이터를 사용하여 비공개로 사용자 지정 가능
  • 코드 작성 없이 복잡한 비즈니스 작업을 모두 실행하는 관리형 에이전트 생성 가능
  • 인프라를 관리할 필요 없이 생성형 AI 기능을 애플리케이션에 안전하게 통합 및 배포 가능

또한 100억 개 이상의 파라미터 모델의 딥 러닝 훈련을 위해 AWS에서 특별히 구축한 2세대 ML 액셀러레이터인 AWS Trainium을 사용하여 변환기 모델을 더 빠르게 훈련 가능. 각 Amazon Elastic Compute Cloud(Amazon EC2) Trn1 인스턴스는 최대 16개의 Trainium 액셀러레이터를 배포하여 클라우드에서 딥 러닝 훈련을 위한 고성능 솔루션을 저렴한 비용으로 제공합니다. 

지금 계정을 만들어 AWS에서 변환기 모델을 시작하세요.

AWS의 다음 단계

무료 계정 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
콘솔에서 구축 시작

AWS Management Console에서 구축을 시작하세요.

로그인