2017년 Google Brain 팀은 "Attention Is All You Need"라는 논문에서 Transformer 아키텍처를 창의적으로 제안한 이후 이 연구는 선구적이었으며 오늘날 NLP 분야에서 가장 인기 있는 모델 중 하나가 되었습니다. 다양한 언어 작업에 적용되어 많은 SOTA 결과를 얻었습니다.
이뿐만 아니라 NLP 분야를 선도해 온 Transformer는 컴퓨터 비전(CV), 음성 인식 등 분야를 빠르게 휩쓸며 이미지 분류, 대상 탐지 등의 작업에서 좋은 결과를 얻었습니다. , 음성 인식 등이 있습니다.
문서 주소: https://arxiv.org/pdf/1706.03762.pdf
Transformer는 출시 이후 다음과 같은 많은 모델의 핵심 모듈이 되었습니다. 친숙한 BERT, T5 등에는 모두 Transformer가 있습니다. 최근 인기를 끌고 있는 ChatGPT도 이미 Google이 특허를 취득한 Transformer를 사용하고 있습니다.
이미지 출처: https://patentimages.storage.googleapis.com/05/e8/f1/cd8eed389b7687/US10452978.pdf
이 외에도 OpenAI에서 시리즈를 출시했습니다. GPT(Generative Pre-trained Transformer) 모델의 이름에 Transformer가 붙은 것을 보면 Transformer가 GPT 시리즈 모델의 핵심임을 알 수 있습니다.
동시에 OpenAI 공동 창립자인 Ilya Stutskever는 최근 Transformer에 대해 이야기하면서 Transformer가 처음 출시되었을 때 실제로 논문이 발표된 지 이틀 만에 이전 버전으로 전환하기를 기다릴 수 없었다고 말했습니다. Transformer에 이어 GPT에 대한 연구입니다. Transformer의 중요성은 자명하다고 볼 수 있습니다.
트랜스포머를 기반으로 한 모델은 6년 동안 계속 발전하고 성장해왔습니다. 그러나 이제 누군가가 원본 Transformer 문서에서 오류를 발견했습니다.
오류를 발견한 사람은 머신러닝 및 AI 연구원으로 유명한 스타트업 라이트닝 AI의 수석 AI 교육자인 세바스찬 라슈카였습니다. 그는 원본 Transformer 논문의 아키텍처 다이어그램이 잘못되어 코드와 일치하지 않는 잔여 블록 사이에 레이어 정규화(LN)를 배치했다는 점을 지적했습니다.
Transformer 아키텍처 다이어그램은 왼쪽은 다음과 같고, 오른쪽은 Post-LN Transformer 레이어입니다(논문 "On Layer Normalization in the Transformer Architecture" [1] 참조).
일관되지 않은 코드 부분은 다음과 같습니다. 82행에서는 실행 시퀀스 "layer_postprocess_sequence="dan""을 작성하는데, 이는 후처리가 dropout, 잔여_add 및 layer_norm을 차례로 실행한다는 의미입니다. 위 그림의 왼쪽 중앙에 있는 add&norm이 다음과 같이 이해된다면, add는 규범보다 높습니다. 즉, 먼저 규범을 적용한 다음 추가하면 코드는 실제로 그림과 일치하지 않습니다.
코드 주소:
https://github.com/tensorflow/tensor2tensor/commit/f5c9b17e617ea9179b7d84d36b1e8162cb369f25#diff-76e2b94ef168 71bdbf46bf04dfe7f1477bafb884748f08197c9cf1b10a4dd78e…
다음으로 Sebastian은 논문이 "On Layer"라고 말했습니다. Transformer Architecture의 정규화'는 Pre-LN이 더 나은 성능을 발휘하고 기울기 문제를 해결할 수 있다고 믿습니다. 이는 실제로 많은 또는 대부분의 아키텍처가 수행하는 작업이지만 표현 붕괴로 이어질 수 있습니다.
주의 계층과 완전 연결 계층 이전의 잔여 연결에 계층 정규화가 배치되면 더 나은 그라데이션을 얻을 수 있습니다.
그래서 Post-LN 또는 Pre-LN에 대한 논쟁이 계속되는 동안 이 두 가지 요점을 결합한 또 다른 논문, 즉 "ResiDual: Transformer with Dual Residual Connections"[2] .
Sebastian의 발견과 관련하여 일부 사람들은 코드나 결과와 일치하지 않는 논문을 자주 접한다고 생각합니다. 대부분은 정직하지만 때로는 이상합니다. Transformer 논문의 인기를 고려하면 이러한 불일치는 수천 번 이상 언급되어야 합니다.
Sebastian은 공평하게 말하면 "가장 독창적인" 코드가 실제로 아키텍처 다이어그램과 일치하지만 2017년에 제출된 코드 버전은 수정되었으며 아키텍처 다이어그램은 업데이트되지 않았다고 답했습니다. 그래서 이것은 정말 혼란스럽습니다.
한 네티즌이 말했듯이 "코드를 읽을 때 가장 나쁜 점은 이런 작은 변화를 자주 발견하게 되는데, 그것이 의도한 것인지 의도하지 않은 것인지 알 수 없다는 것입니다. 그럴 수 있습니다." 테스트도 하지 마세요. 모델을 학습시킬 컴퓨팅 파워가 부족하기 때문입니다.”
Google이 향후 코드나 아키텍처 다이어그램을 업데이트할지 여부는 알 수 없습니다. 기다려 보겠습니다!
위 내용은 사진이 코드와 일치하지 않습니다. 네티즌: 1,000번은 지적했어야 했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!