어텐션 메커니즘
Attention Mechanism
어텐션 메커니즘이란?
- '지금 중요한 곳'에 집중하는 기법
- 멀리 떨어진 단어 관계도 포착
- 트랜스포머·LLM의 심장
어텐션이 실제로 바꾼 것은 '거리'의 문제입니다. 이전 구조에서는 문장 전체를 고정 길이 벡터 하나에 욱여넣은 뒤 그것만 보고 다음 단어를 예측했기 때문에, 앞쪽 정보는 뒤로 갈수록 희미해졌습니다. 어텐션은 모든 토큰이 다른 모든 토큰을 직접 조회하게 만들어 50번째 단어와 1번째 단어의 거리를 바로 옆 단어와 똑같이 취급합니다. 그 결과 요약 벡터라는 병목이 사라졌고, 학습도 순서를 기다리지 않고 한꺼번에 돌릴 수 있게 됐습니다.
실무에서는 세 갈래를 구분해 두면 편합니다. 같은 문장 안에서 서로를 살피는 셀프 어텐션, 질문과 참고 문서처럼 다른 두 뭉치를 잇는 크로스 어텐션, 그리고 같은 계산을 여러 갈래로 나눠 문법·지시 대상·주제를 나눠 맡기는 멀티헤드 어텐션입니다. 대가는 연산량이 입력 길이의 제곱으로 늘어난다는 점입니다. 토큰이 2배면 어텐션 계산은 4배가 되므로 컨텍스트 32K짜리와 128K짜리는 가격표도 응답 속도도 전혀 다릅니다. 긴 창을 쓸수록 비용 곡선이 가팔라진다는 사실이 프롬프트 설계의 출발점입니다.
현장에서 가장 자주 어긋나는 지점은 '창이 크니 자료를 다 넣으면 알아서 본다'는 생각입니다. 어텐션은 한정된 가중치를 나눠 주는 구조라, 넣는 문서가 늘수록 정작 중요한 문장이 받는 몫은 줄어듭니다. 긴 입력의 한가운데 놓인 정보가 앞뒤보다 덜 반영되는 현상도 반복해서 보고됩니다. 참고 자료는 양이 아니라 선별의 문제입니다. 또 하나, 어텐션 가중치가 높다고 그것이 모델의 판단 근거라는 뜻은 아닙니다. 어텐션 맵을 캡처해 '모델이 이 조항을 보고 답했습니다'라고 감사 보고서에 첨부하면, 나중에 근거 없는 설명을 제출한 셈이 됩니다.
구글 연구진의 논문 「Attention Is All You Need」(2017)에서 셀프 어텐션 기반 트랜스포머가 제안되며 현대 LLM의 기반이 됐습니다.
가상의 사례로 살펴보겠습니다. 자동차 부품을 만드는 A사(임직원 1,180명, 연매출 4,200억 원)는 품질 매뉴얼과 고객사 사양서를 묶어 사내 질의응답 챗봇을 열었습니다. 오픈 3주 만에 품질보증팀에서 '같은 걸 물어도 답이 매번 다르다'는 항의가 올라왔습니다. 원인을 잡는 데 6주가 걸렸습니다.
- AI TF를 맡은 김 차장은 사양서 320쪽을 통째로 프롬프트에 붙여 넣고 있었습니다. 다 넣으면 모델이 알아서 중요한 걸 본다는 게 팀의 전제였습니다.
- 품질보증팀 이 과장이 직접 30문항을 돌려 보니, 문서 앞 20쪽과 끝 15쪽 조건은 정확히 답했는데 150쪽 부근의 열처리 허용 오차는 3번 중 2번을 틀렸습니다.
- 외부 자문으로 들어온 데이터 엔지니어 박 책임이 '모델이 게으른 게 아니라 주의가 흩어진 것'이라며, 사양서를 조항 단위 40개 덩어리로 쪼개자고 제안했습니다.
- 질문을 받을 때 적용 공정과 고객사명을 필수로 입력받고, 검색으로 관련 조항 상위 5개만 넣도록 바꿨습니다. 평균 입력 토큰은 18만에서 9천으로 줄었습니다.
- 한 달 뒤 같은 30문항을 재측정하니 정답률이 61%에서 92%로, 평균 응답 시간은 14초에서 3초로 줄었고 월 API 비용은 780만 원에서 120만 원이 됐습니다.