사전 훈련된 모델 최대한 활용하기

게시 됨: 2022-03-11

특히 NLP에서 출시되는 대부분의 새로운 딥 러닝 모델은 매우 큽니다. 매개 변수는 수억에서 수천억에 이릅니다.

충분히 좋은 아키텍처가 주어지면 모델이 클수록 더 많은 학습 용량을 갖게 됩니다. 따라서 이러한 새로운 모델은 학습 능력이 매우 뛰어나고 매우 큰 데이터 세트에서 훈련됩니다.

그 때문에 그들은 훈련된 데이터 세트의 전체 분포를 배웁니다. 이러한 데이터 세트에 대한 압축된 지식을 인코딩한다고 말할 수 있습니다. 이를 통해 이러한 모델을 매우 흥미로운 응용 프로그램에 사용할 수 있습니다. 가장 일반적인 것은 전이 학습입니다. 전이 학습은 사용자 지정 데이터 세트/작업에서 사전 훈련된 모델을 미세 조정하는 것으로, 훨씬 적은 데이터가 필요하고 모델은 처음부터 훈련하는 것과 비교하여 매우 빠르게 수렴됩니다.

사전 훈련된 모델이 미래의 알고리즘인 방법

사전 훈련된 모델은 컴퓨터 비전에서도 사용되지만 이 기사에서는 자연어 처리(NLP) 도메인에서의 최첨단 사용에 초점을 맞출 것입니다. 트랜스포머 아키텍처는 이러한 모델에서 사용되는 가장 일반적이고 가장 강력한 아키텍처입니다.

Google의 2017년 논문 "Attention Is All You Need"에 제시된 Transformer 아키텍처.

BERT가 NLP 전이 학습 혁명을 시작했지만 GPT-2 및 T5 모델을 살펴보겠습니다. 이러한 모델은 사전 훈련되어 있습니다. 특정 응용 프로그램에서 모델을 미세 조정하면 훨씬 더 나은 평가 메트릭을 얻을 수 있지만 기본적으로 사용할 것입니다. 즉, 미세 조정 없이 사용할 것입니다.

사전 훈련된 NLP 모델: OpenAI의 GPT-2

GPT-2는 2019년에 출시되었을 때 상당한 논란을 불러 일으켰습니다. 텍스트 생성에 매우 능숙했기 때문에 미디어의 주목을 받았고 AI의 미래에 대한 많은 질문을 제기했습니다.

40GB의 텍스트 데이터로 훈련된 GPT-2는 인터넷 횡단면에서 방대한 양의 압축 지식 을 포함하는 초대형 모델입니다.

GPT-2에는 많은 잠재적 사용 사례가 있습니다. 문장의 확률을 예측하는 데 사용할 수 있습니다. 이것은 차례로 텍스트 자동 수정에 사용될 수 있습니다. 다음으로, 단어 예측은 코드 작성 및 일반 텍스트 작성을 위한 IDE(예: Visual Studio Code 또는 PyCharm)의 자동 완성 구성 요소를 빌드하는 데 직접 사용할 수 있습니다. 자동 텍스트 생성에 사용하고 자연어 분석에 대량의 텍스트를 사용할 수 있습니다.

텍스트 입력을 기반으로 제안을 생성하는 GPT-2. 왼쪽의 입력은 "AI가 대부분의 작업을 수행했습니다."입니다. 오른쪽에 제안된 3개의 출력은 닫는 따옴표 없이 "실제로 회사의 5월 첫 채용", "취하지 않은 유일한 직업은 그 일이었습니다." 표시.

텍스트 생성

일관된 텍스트를 생성하는 GPT-2와 같은 사전 훈련된 모델의 능력은 매우 인상적입니다. 접두사 텍스트를 제공하고 다음 단어, 구 또는 문장을 생성하도록 요청할 수 있습니다.

사용 사례의 예로는 긍정적인 리뷰와 부정적인 리뷰에서 일반적으로 사용되는 단어 유형을 확인하기 위해 제품 리뷰 데이터 세트를 생성하는 것입니다.

긍정적인 접두사로 시작하여 "이 영화가 정말 마음에 들었습니다!"로 시작하여 몇 가지 예를 살펴보겠습니다.

샘플 1 끊임없는 위험에 처한 캐릭터의 감정과 이러한 사건으로 인해 내면의 두려움이 서서히 극복되는 방식을 사랑했습니다. 또한 그가 생존에 집중하는 것을 좋아했습니다. 당신은 항상 적이 어쨌든 결국 나타날 것이라는 것을 항상 알고 있었기 때문에 배트맨 대 슈퍼맨에서 무언가가 다시 나타나는 것처럼 느껴졌습니다. :) 엔딩 테마도 저에게 정말 꽂혔습니다.
샘플 2 그것은 내가 하고 싶은 일을 정확히 해냈고, 아주 재미있었습니다. 캐스트는 굉장했고 이야기는 이미 IMDB에서 다른 모든 것을 본 후 지금까지 이해가 됩니다. 태곳적부터 그들의 "힘"(또는 그것의 부족)으로 인해 지하 도시에 있다는 힌트가 있지만 실제로 그렇게 많이 말하지는 않습니다... 제 생각에는 그것이 하나의 큰 미스터리라고 생각합니다. 그래도….그건…

보시다시피 리뷰 라는 단어는 접두사 어디에도 없었지만 대부분의 리뷰는 제목 뒤에 리뷰 본문이 오기 때문에 모델이 해당 분포에 적응하도록 했습니다. 또한 배트맨 대 슈퍼맨 에 대한 참조를 확인하십시오.

다른 예를 보겠습니다. 영화 리뷰 대신 부정적인 접두사를 사용하여 제품 리뷰를 생성하려고 합니다. "쓰레기 제품! 사지 마."

샘플 1 그리고 이것을 정원이나 잔디의 비료로 사용하지 마십시오. 물고기와 새가 삼키면 심각한 물 손상을 일으킬 수 있습니다. Petsmart, PetSmart & Safeway와 같은 "좋은" 이름과 같은 유기농 식료품점에서 온라인으로 구입할 수 있는 애완동물 사료에 살충제가 존재할 가능성이 있으므로 주의해서 사용하십시오. 음식물 쓰레기는 얼마나 유독합니까? 폐기물은 상당한 양을 기여할 수 있습니다.
샘플 2 아무도 당신에게 그 쓰레기 조각을 다시는 주지 않을 것입니다. 미래에 약간의 돈이나 편리함을 절약하는 것 외에는 아무것도 아닌 것을 구입하기 전에 자신과 귀하의 사업에 호의를 베풀고 청소하십시오.1/2oz 병 플라스틱 식품 보관 포장 + 1팩 #1636370105702615 (P, 3ml) $7 지금 구매 이 병은 모든 소매점에서 구입할 수 있지만 다음은 구입하는 방법입니다.

다시 말하지만, 접두사는 제품 리뷰의 제목으로 유추될 수 있으므로 모델은 해당 패턴에 따라 텍스트를 생성하기 시작합니다. GPT-2는 이와 같은 모든 유형의 텍스트를 생성할 수 있습니다.

Google Colab 노트북은 "Write With Transformer" 라이브 데모와 마찬가지로 실험에 사용할 준비가 되었습니다.

질문 답변

예, GPT-2는 웹에서 교육을 받았기 때문에 2019년까지 온라인에 게시된 많은 인간 지식을 "알고 있습니다". 문맥 질문에도 작동할 수 있지만 " 질문: X, 답변:”을 입력한 후 자동 완성을 시도합니다. 그러나 모델이 우리의 질문에 답하도록 강요하면 꽤 모호한 답이 나올 수 있습니다. 지식을 테스트하기 위해 개방형 질문에 답하도록 강요하면 다음과 같은 일이 발생합니다.

샘플 1 질문: 누가 진화론을 발명했습니까?
답변: 진화론은 1859년 Charles Darwin에 의해 처음 제안되었습니다.
샘플 2 질문: 인간의 치아는 몇 개입니까?
답: 인간의 치아는 21개입니다.

우리가 볼 수 있듯이 사전 훈련된 모델은 첫 번째 질문에 대해 꽤 자세한 답변을 제공했습니다. 2번은 최선을 다했지만 구글 검색과는 비교가 되지 않는다.

GPT-2가 엄청난 잠재력을 가지고 있다는 것은 분명합니다. 미세 조정하면 훨씬 더 높은 정확도로 위에서 언급한 예에 사용할 수 있습니다. 그러나 우리가 평가하는 사전 훈련된 GPT-2조차도 여전히 그렇게 나쁘지 않습니다.

사전 훈련된 NLP 모델: Google의 T5

Google의 T5는 현재까지 가장 발전된 자연어 모델 중 하나입니다. 일반적으로 Transformer 모델에 대한 이전 작업을 기반으로 합니다. 인코더 블록만 있는 BERT와 디코더 블록만 있는 GPT-2와 달리 T5는 두 가지 를 모두 사용합니다.

T5 입력 및 출력. 1) "영어를 독일어로 번역: It is good"은 "Das ist gut"가 됩니다. 2) "콜라 문장: 코스가 잘 뛰고 있다"가 "허용되지 않는다"가 된다. 3) "stsb 문장1: 풀밭에서 풀을 뜯는 코뿔소. 문장2: 들판에서 풀을 뜯는 코뿔소"는 "3.8"이 됩니다. 4) "요약: 미시시피 주에 혹독한 날씨가 닥쳐 피해를 조사하기 위해 화요일에 주 당국이 긴급 구조대를 파견했습니다..."는 "아탈라 카운티에서 폭풍우가 몰아쳐 병원에 입원한 6명"이 됩니다.
Google의 2019년 논문 "Unified Text-to-Text Transformer로 전이 학습의 한계 탐구"에서 T5 모델의 입력 및 해당 출력의 예.

40GB의 텍스트 데이터에서 훈련된 GPT-2는 이미 인상적이었지만 T5는 7TB 데이터 세트에서 훈련되었습니다 . 매우, 매우 많은 반복을 위해 훈련되었음에도 불구하고 모든 텍스트를 통과할 수는 없었습니다. T5는 GPT-2와 같은 텍스트 생성을 수행할 수 있지만 더 흥미로운 비즈니스 사용 사례에 사용할 것입니다.

요약

텍스트 요약이라는 간단한 작업부터 시작하겠습니다. 뉴스 기사를 요약하는 앱을 구축하려는 AI 개발 회사에게는 T5가 완벽하게 적합합니다. 예를 들어, 이 기사를 T5에 제공하면 다음은 T5가 생성한 세 가지 다른 요약입니다.

V1 3월 10일부터 시작되는 데스티니 2의 다음 시즌은 검을 재작업할 것입니다. 그들은 강력한 공격과 보호에 전력을 공급하는 데 사용되는 재충전 에너지를 갖게 됩니다. 밸런타인데이 이벤트인 크림슨 데이즈도 이번 달에 진행된다.
V2 번지는 데스티니 가디언즈의 다음 시즌이 검을 극적으로 재설계할 것이라고 밝혔습니다. 스튜디오 는 시즌 에 수반될 것 에 대해 대부분 수줍어 했습니다 . 다시 생각하면 검이 적의 방패를 부분적으로 우회할 수 있습니다.
V3 데스티니 가디언즈의 다음 시즌은 검을 재설계하여 적의 방패를 우회하게 합니다. 시즌은 3월 10일에 시작됩니다. 당신은 발렌타인 데이 이벤트인 크림슨 데이 동안 데스티니 2를 플레이할 수 있습니다.

우리가 볼 수 있듯이, 그것은 기사를 요약하는 꽤 멋진 일을 했습니다. 또한 각 요약은 다른 요약과 다릅니다.

사전 훈련된 모델을 사용하여 요약하면 엄청난 잠재적 응용 프로그램이 있습니다. 흥미로운 사용 사례 중 하나는 모든 기사의 요약을 자동으로 생성하고 개요를 원하는 독자를 위해 시작 부분에 넣는 것입니다. 각 사용자에 대한 요약을 개인화하면 더 나아질 수 있습니다. 예를 들어, 일부 사용자에게 더 작은 어휘가 있는 경우 덜 복잡한 단어 선택으로 요약을 제공할 수 있습니다. 이것은 매우 간단한 예이지만 이 모델의 힘을 보여줍니다.

또 다른 흥미로운 사용 사례는 웹사이트의 SEO에서 이러한 요약을 사용하는 것입니다. T5는 자동으로 매우 높은 품질의 SEO를 생성하도록 훈련할 수 있지만 요약을 사용하면 모델을 다시 훈련하지 않고도 기본적으로 도움이 될 수 있습니다.

독해력

T5는 또한 주어진 맥락에서 질문에 답하는 것과 같은 독해력을 위해 사용될 수 있습니다. 이 응용 프로그램에는 나중에 보게 될 매우 흥미로운 사용 사례가 있습니다. 하지만 몇 가지 예부터 시작하겠습니다.

의문 진화론을 발명한 사람은?
문맥
(브리태니커 백과사전)
아르헨티나에서 멸종된 대형 포유류의 뼈 화석 발견과 갈라파고스 제도에서 수많은 핀치새의 관찰은 종의 기원에 대한 다윈의 관심을 자극한 사건 중 하나입니다. 1859년에 그는 진화론과 가장 중요한 것은 진화론을 결정짓는 자연선택의 역할을 확립한 논문인 자연선택에 의한 종의 기원을 출판했습니다.
답변 다윈

다윈이 이론을 발명했다는 명시적인 언급은 없지만 모델은 올바른 결론에 도달하기 위해 일부 컨텍스트와 함께 기존 지식을 사용했습니다.

아주 작은 컨텍스트는 어떻습니까?

의문 우리는 어디로 갔습니까?
문맥 내 생일에 우리는 파키스탄 북부 지역을 방문하기로 결정했습니다. 아주 즐거웠다.
답변 파키스탄 북부 지역

좋아, 꽤 쉬웠다. 철학적 질문은 어떻습니까?

의문 삶의 의미가 무엇인가?
문맥
(위키피디아)
우리가 인식하는 삶의 의미는 존재, 사회적 유대, 의식 및 행복에 대한 철학적, 종교적 묵상과 과학적 탐구에서 파생됩니다. 상징적 의미, 존재론, 가치, 목적, 윤리, 선과 악, 자유 의지, 하나 또는 여러 신의 존재, 신의 개념, 영혼, 내세와 같은 다른 많은 문제도 관련되어 있습니다. 과학적 공헌은 주로 우주에 대한 관련된 경험적 사실을 설명하고 생명의 "방법"에 관한 맥락과 매개변수를 탐구하는 데 중점을 둡니다.
답변 존재, 사회적 유대, 의식, 행복에 대한 철학적, 종교적 사색과 과학적 탐구

이 질문에 대한 답변이 매우 복잡하다는 것을 알고 있지만 T5는 매우 가깝지만 합리적인 답변을 하려고 노력했습니다. 명성!

더 나아가 보자. 앞에서 언급한 Engadget 기사를 컨텍스트로 사용하여 몇 가지 질문을 해보자.

의문 이것은 무엇에 관한 것입니까?
답변 데스티니 2는 극적으로 재작업될 것이다
의문 이 업데이트는 언제 예상할 수 있습니까?
답변 3월 10일

보시다시피 T5의 문맥 질문 답변은 매우 좋습니다. 한 가지 비즈니스 사용 사례는 현재 페이지와 관련된 쿼리에 응답하는 웹사이트용 상황별 챗봇을 구축하는 것일 수 있습니다.

또 다른 사용 사례는 문서에서 일부 정보를 검색하는 것입니다. 예를 들어 "개인 프로젝트에 회사 노트북을 사용하는 것은 계약 위반입니까?"와 같은 질문을 하는 것입니다. 법적 문서를 컨텍스트로 사용합니다. T5에는 한계가 있지만 이러한 유형의 작업에 매우 적합합니다.

독자는 왜 각 작업에 특수 모델을 사용하지 않는지 궁금해 할 것입니다. 좋은 점입니다. T5의 사전 훈련된 NLP 모델보다 정확도가 훨씬 더 높고 특수 모델의 배포 비용이 훨씬 낮습니다. 그러나 T5의 장점은 정확히 "모든 것을 지배하는 하나의 모델"이라는 것입니다. 즉, 거의 모든 NLP 작업에 대해 하나의 사전 훈련된 모델을 사용할 수 있습니다. 또한 재교육이나 미세 조정 없이 이러한 모델을 즉시 사용하고 싶습니다. 따라서 다양한 기사를 요약하는 앱과 상황에 맞는 질문 답변을 수행하는 앱을 만드는 개발자의 경우 동일한 T5 모델이 두 가지를 모두 수행할 수 있습니다.

사전 훈련된 모델: 곧 유비쿼터스될 딥 러닝 모델

이 기사에서는 사전 훈련된 모델과 다양한 비즈니스 사용 사례에 대해 즉시 사용하는 방법을 살펴보았습니다. 고전적인 정렬 알고리즘이 문제를 정렬하기 위해 거의 모든 곳에서 사용되는 것처럼 이러한 사전 훈련된 모델은 표준 알고리즘으로 사용됩니다. 우리가 탐색한 것은 NLP 애플리케이션의 표면을 긁는 것일 뿐이며 이러한 모델로 수행할 수 있는 작업이 훨씬 더 많습니다.

StyleGAN-2 및 DeepLabv3과 같은 사전 훈련된 딥 러닝 모델은 유사한 방식으로 컴퓨터 비전 애플리케이션을 강화할 수 있습니다. 이 기사가 도움이 되었기를 바라며 아래에서 귀하의 의견을 들을 수 있기를 기대합니다.