• Turing Post Korea
  • Posts
  • AI와 검색엔진의 결합: 얀덱스의 페트르 에르마코프 (Petr Ermakov)와의 대화

AI와 검색엔진의 결합: 얀덱스의 페트르 에르마코프 (Petr Ermakov)와의 대화

얀덱스가 바라보는 검색의 미래, 그리고 YandexGPT

챗GPT의 등장 이후 많은 사람들이 과연 검색의 미래가 AI로 인해서 어떻게 바뀔 것이냐에 대해 궁금해하고 있습니다. Yoo.com이나 Perplexity.ai 등 AI 기반의 검색 스타트업들도 성장하고 있고, 더불어 검색 시장의 절대 강자인 구글, 구글을 따라잡기 위해 노력하고 있는 마이크로소프트 등도 자사 검색엔진에 AI를 다양한 방식으로 통합하고 있구요.

그런데 최근까지도 ‘AI 기반의 검색’이 보여주는 결과물을 보면, ‘검색’이라는 서비스에 AI를 통합한다는 것이 긍정적인 잠재력이 엄청날 수도 있지만, 여전히 해결해야 할 이슈들이 있다는 걸 극명하게 보여주고 있는 것 같습니다.

지난 Google I/O 2024에서 공개되었던 ‘Google AI Overview’ - 사용자가 검색한 주제에 대해서 간결한 요약을 제공하는, 커스텀 Gemini 모델 기반의 서비스 - 에서도, 밑의 그림 예시처럼 ‘피자도우 위 치즈가 피자에서 안 떨어지게 하려면 피자에 접착제를 추가하라’는 식의 잘못된 답변을 생성하는 바람에 지금은 이 서비스가 내려간 상태죠.

Source: Reddit

그럼에도 불구하고, 모든 사용자에게 영향을 미칠 수 있는 ‘검색’ 서비스 특성 상, 여전히 마이크로소프트든 애플이든, 검색 엔진에 AI를 통합하기 위해서 계속 노력하고 있습니다.

여러가지 이유로 우리의 관심도 미국 회사들에 집중되어 있고 노출되는 정보도 미국 기업들이 가장 많겠지만, 그러다보면 중국, 인도, 러시아 같은 나라의 AI 발전 상황은 지나치기 쉽습니다. 영어가 네이티브 언어가 아닌 이런 나라에서 구축한 LLM은 아무래도 미국에서 만들어진 모델과는 다른 특성도, 다른 접근방법도 있을 수 있으니 그래도 관심을 가질 필요가 있다고 봅니다. 오늘은, 러시아의 최대 검색 엔진인 얀덱스 (Yandex)가 스스로 강력한 AI 모델을 개발해 온 과정과 극복해야 했던 과제, 검색 엔진과 AI의 통합을 바라보는 시각, 그리고 검색의 미래에 대한 비전 등을 간단하게나마 알아보려고 합니다. 얀덱스의 페트르 에르마코프 (Petr Ermakov)와 이야기 나눠 봅니다.

Q. 페트르 안녕하세요? 오늘 이렇게 나와주셔서 감사합니다. 우리가 알고 있는 LLM 대부분은 영어 기반으로 되어 있는데요, 그 외에도 다른 언어가 엄청나게 많잖아요? 러시아어 기반으로 YandexGPT를 만들게 된 과정과 경험에 대해서 이야기해 주세요.

얀덱스는 전세계에서 가장 큰 검색엔진 중 하나이기 때문에, 자체적으로 LLM을 구축할 만한 충분한 위치에 있다고 할 수 있습니다. (주: 얀덱스는 구글, 마이크로소프트 빙, 야후에 이어 전세계 4위 검색엔진이고, 러시아의 검색엔진 점유율은 40~50% 수준입니다 - 러시아에서도 구글이 많이 올라왔네요) YandexGPT는 방대한 양의 러시아어와 함께 영어 텍스트를 주 언어로 트레이닝했고, 그 외 다른 언어로 된 소량의 텍스트도 포함되어 있습니다.

YandexGPT는, 이름에서 짐작할 수 있듯이 ‘트랜스포머’ 아키텍처 기반으로 되어 있는데, 3단계의 트레이닝을 거쳐 학습되었습니다:

  • 사전학습 (Pre-training) 단계: 20TB에 달하는 텍스트 데이터로 YandexGPT를 트레이닝

  • 정렬 (Alignment) 단계: 300명의 사람이 작성한 10,000개의 질문/답변 세트를 사용해서 YandexGPT를 파인튜닝

  • 강화학습(RL) 단계: 순위를 매긴 30,000개의 YandexGPT 답변들을 사용해서 모델을 추가로 트레이닝

‘사전학습’ 단계에서는 책, 잡지, 신문, 공개된 인터넷 콘텐츠 등 다양한 출처로부터 수집한 텍스트가 포함된 데이터셋을 사용했습니다. ‘정렬’과 ‘강화학습’ 단계에서는 300명 이상의 AI 트레이너로 구성된 팀이 질문-답변을 수집하고 모델이 응답한 출력값에 순위를 매겼습니다. 여기에 더해서, 얀덱스 자체에서 사용하는 LLM 어플리케이션들을 참고로 해서 모델에 물어볼 만한 질문 셋도 별도로 만들어 사용했습니다.

자체적으로 LLM을 테스트할 때는, 러시아어하고 영어로 만든 자체 벤치마크에서 과연 YandexGPT가 얼마나 좋은 성능을 내느냐에 초점을 맞췄어요. YandexGPT 3 Pro가 최신 버전인데, 개발자들이 MMLU를 러시아에 맞게 현지화한 YaMMLU_ru 벤치마크 등 여러가지 벤치마크를 대상으로 테스트했어요. 그리고 다른 LLM 제품들은 러시아어, 영어에서 어떤 성능을 보이는지도 모니터링했죠. 주목할 만한 결과 하나는, SBS (Side-by-Side) 테스트로 여러 모델들 간에 아이디어 생성, 컨텐츠 생성, 정보 요약이나 분류 등 작업의 성능을 비교해 보았을 때, YandexGPT Pro가 YandexGPT 2, 그리고 ChatGPT 3.5보다 각각 67%와 64% 더 나은 성능을 보이는 것으로 확인했습니다.

Q. 개발 과정에서 어려웠던 점은 어떤 것들인가요?

가장 어려웠던 점 중 하나는, 역시 고품질의 텍스트 데이터셋을 골라서 만드는 과정이었어요. 다수의 연구자와 개발자들이 달려들어서 사전학습 모델을 훈련하는데 사용할 ‘고품질 텍스트 필터링 파이프라인;을 구축했습니다.

또 다른 어려운 점은 ‘GPU 최적화’였어요. 아시다시피 대규모의 LLM 트레이닝을 하려면 엄청난 규모의 연산이 필요하니까, 서로 연결되어 있는 다수의 GPU로 구성된 클러스터를 사용하게 돼요. 클러스터 안에 있는 GPU들 사이에 연산을 나누어서 하도록 해야 하니까 계속해서 통신이 발생하는데, 이 통신이 ‘병목 현상’이 되어서 트레이닝 프로세스가 느려지고 컴퓨팅 자원의 효율성이 떨어지게 됩니다.

얀덱스의 최신 LLM인 YandexGPT 3을 개발할 때도 이 문제가 생겼고, 이걸 해결하려고 YaFSDP라는 라이브러리를 만들었습니다. YaFSDP는 다수의 GPU 간 통신을 할 때 발생하는 병목 현상을 극복하고 LLM 트레이닝을 더 효율적으로 할 수 있도록 해 주는 GPU 최적화 라이브러리예요. (FSDP, YaFSDP에 대한 튜링포스트 코리아의 글이 곧 올라갑니다!)

YaFSDP 라이브러리를 사용하고 나서, 물론 다른 성능 개선 솔루션들과 결합은 했지만, 모델의 트레이닝 프로세스가 최대 45%까지 빨라지는 걸 확인할 수 있었어요.

이러한 병목 현상을 극복하고 LLM 학습을 보다 효율적으로 진행하기 위해 GPU 통신을 개선하고 학습 속도와 성능을 최적화하는 라이브러리인 YaFSDP를 만들었습니다. 이 라이브러리를 다른 성능 향상 솔루션과 결합하면 일부 모델의 경우 학습 프로세스가 최대 45%까지 빨라졌습니다.

뉴스레터 가입하시고 계속 읽으세요

This content is free, but you must be subscribed to Turing Post Korea to continue reading.

Already a subscriber?Sign In.Not now

Reply

or to participate.