00:00:00

Share Your Feedback 🏝️

Arithmetic with the Right Embeddings

Arithmetic with the Right Embeddings

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Model | Qwen2 Next: Hallucinations with High Accuracy and Low Cost

Arithmetic with the Right Embeddings

  • Related Project: Private
  • Category: Paper Review
  • Date: 2024-06-11

Transformers Can Do Arithmetic with the Right Embeddings

  • url: https://arxiv.org/abs/2405.17399
  • pdf: https://arxiv.org/pdf/2405.17399
  • html https://arxiv.org/html/2405.17399
  • abstract: The poor performance of transformers on arithmetic tasks seems to stem in large part from their inability to keep track of the exact position of each digit inside of a large span of digits. We mend this problem by adding an embedding to each digit that encodes its position relative to the start of the number. In addition to the boost these embeddings provide on their own, we show that this fix enables architectural modifications such as input injection and recurrent layers to improve performance even further. With positions resolved, we can study the logical extrapolation ability of transformers. Can they solve arithmetic problems that are larger and more complex than those in their training data? We find that training on only 20 digit numbers with a single GPU for one day, we can reach state-of-the-art performance, achieving up to 99% accuracy on 100 digit addition problems. Finally, we show that these gains in numeracy also unlock improvements on other multi-step reasoning tasks including sorting and multiplication.

TL;DR


숫자 위치 인식을 통한 트랜스포머의 수학 연산 개선 연구

  1. 알려진 바와 같이 트랜스포머 모델은 큰 숫자의 수학 연산을 수행할 때 숫자의 정확한 위치를 추적하는 것이 어렵습니다.
  2. 각 숫자의 시작 위치에 대한 상대적인 위치를 인코딩하는 아바커스 임베딩(Abacus Embeddings)을 도입합니다.
  3. 아바커스 임베딩을 활용한 방법으로 더 큰 숫자에 대한 연산 뿐만 아니라 다른 알고리즘 작업(정렬, 곱셈 등)에서도 일반적인 성능 향상을 확인합니다.

트랜스포머 모델은 숫자 계산 작업에서 성능이 저조한 것으로 나타났습니다. 이 문제의 근본 원인은 트랜스포머가 큰 수열의 각 숫자 위치를 정확하게 추적할 수 없다는 점에 있습니다.

이번 연구에서는 이 문제를 해결하기 위해 각 숫자에 숫자 시작 위치를 기준으로 상대 위치를 인코딩하는 임베딩을 추가했습니다. 이런 임베딩 자체만으로도 성능 향상을 가져오지만, 이 s개선 덕분에 입력 주입 및 순환 레이어와 같은 구조적 변화를 적용하여 성능을 더욱 높일 수 있다는 것을 확인합니다.

숫자 위치 문제가 해결됨에 따라 트랜스포머의 논리적 외삽 능력을 연구할 수 있습니다. training dataset보다 더 크고 복잡한 뺄셈 문제를 풀 수 있을까?에 대한 탐구를 수행합니다. 이 논문은 단일 GPU를 사용하여 하루 동안 20자리 수에 대해서만 훈련하는 경우에도 SOTA 수준의 성능을 달성할 수 있다고 주장하며, 100자리 더하기 문제에서 최대 99%의 정확도를 보이는 것을 확인합니다. 또한, 이런 숫자 계산 능력 향상은 정렬 및 곱셈과 같은 다른 다단계 인퍼런스 작업에도 긍정적인 영향을 미칠 수 있음을 확인합니다.

[수학 관련 트랜스포머 성능 개선 색인마킹]


[배경과 문제 상황]

최근 대규모 언어모델은 자연어 처리와 코드 생성에서 우수한 성과를 보이고 있지만, 연산적 인퍼런스과 같은 복잡한 다단계 인퍼런스 작업에서는 여전히 어려움을 겪고 있습니다. 특히, 이런 모델들은 트레이닝 데이터보다 크거나 복잡한 새로운 수학 문제를 해결하는 데 한계가 있습니다. 이는 모델이 숫자의 정확한 위치를 파악하는데 실패하기 때문입니다.

[선행 연구]

이전 연구들에서는 트랜스포머 모델이 숫자 각 자리의 위치를 명확히 인식하지 못해 대규모 숫자 연산에서 정확도가 떨어지는 것을 발견했습니다. 기존의 접근 방식은 숫자를 역순으로 처리하거나 명시적인 인덱스 문자를 추가하는 방식으로 데이터 형식을 변경하여 모델의 연산 능력을 개선하려 했습니다.

[연구 목표와 방법]

  • 아바커스 임베딩 도입: 이 연구는 숫자의 각 자리가 숫자 내에서 상대적으로 어디에 위치하는지를 명확하게 표현할 수 있는 새로운 위치 임베딩, 아바커스 임베딩을 제안합니다. 이 임베딩은 숫자의 각 자리에 동일한 상대 위치를 부여하여 트랜스포머가 자리값을 정확히 인식할 수 있도록 합니다.

  • 입력 주입과 순환 레이어: 아바커스 임베딩 외에도 입력 주입(input injection)과 순환 레이어(recurrent layers) 같은 아키텍처 수정을 통해 모델의 성능을 추가로 향상시킬 수 있습니다. 입력 주입은 입력 계층과 각 디코더 계층 사이에 스킵 연결을 추가하는 것을 말하며, 순환 레이어는 같은 파라미터를 여러 번 재사용하여 더 복잡한 연산을 가능하게 합니다.

[실험 및 평가]

20자리 숫자로 훈련된 모델이 100자리 덧셈 문제에서 최대 99%의 정확도를 달성할 수 있음을 실험을 통해 확인했습니다. 또한, 이 방법은 곱셈 및 정렬과 같은 더 복잡한 알고리즘 작업에도 확장 가능함을 보여줍니다.

[결론]

아바커스 임베딩을 도입한 이 연구는 트랜스포머가 크고 복잡한 숫자를 포함한 다양한 수학 문제를 해결할 수 있도록 합니다. 이는 트랜스포머의 수학적 연산 능력뿐만 아니라 다른 알고리즘 작업에서도 일반화 능력을 향상시키는 중요한 발전입니다.

Previous: Model | Qwen2 Next: Hallucinations with High Accuracy and Low Cost

post contain ""

    No matching posts found containing ""