챗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%까지 빨라졌습니다.

Q. 곧 우리의 AI 101 시리즈에 FSDP와 YaFSDP에 대한 글이 올라갈 예정인데요, 간단하게 YaFSDP의 작동 원리에 대해서 이야기해 줄 수 있을까요?

네, 한 번 간단하게 설명해 볼께요 ㅎㅎ. 다수의 GPU를 동시에 사용해서 LLM을 잘 트레이닝하려면 GPU들 간의 통신에 방해되는 요소가 적어야 하고, 트레이닝에 꼭 필요한 프로세서 메모리만 사용될 수 있도록 통제하는 것이 중요한데요. YaFSDP는 GPU들 간의 통신이 꼭 필요할 때만, 필요한 정도로만 발생할 수 있도록 해서, 트레이닝의 속도와 성능을 개선해 줍니다. 그래서 LLM 개발자들이 상대적으로 더 적은 컴퓨팅 자원과 GPU를 가지고도 모델을 트레이닝할 수 있는 거죠.

아래 표를 보면, Llama 2와 Llama 3 모델에 대해서 FSDP 대비 YaFSDP 라이브러리를 써서 개선한 속도 향상 효과 (표의 speedup 컬럼)가 상당하다는 걸 알 수 있습니다:

Q. 다른 검색엔진 이야기를 좀 해 보죠. 최근 공개되었다가 이슈가 된 구글의 AI Overview에 대해서는 어떻게 생각하시나요? 이런 사례가 단순한 해프닝일까요, 아니면 AI 기반의 검색 엔진을 개발하는데 있어서 생각보다 더 큰 이슈가 있다는 걸 보여주는 신호일까요?

우리는 어떤 서비스든 건강한 경쟁이 중요하다고 믿고, 결코 경쟁사가 실패하기를 바라지 않습니다. 얀덱스의 입장에서는, 경쟁사가 출시한 AI 기능들에 대해서 대중들이 비판한다는 건, 앞으로 유사한 기능을 출시하기 전에 제대로 테스트를 더 해야 한다는 것 ‘책임감’으로 다가오죠. 우리 얀덱스는 우리만의 검색 + 생성형 AI 통합 제품인 Neuro를 출시할 때 응답이 얼마나 신뢰할 만한지, 그리고 응답이 정확한지 테스트하는데 특별히 주의를 기울였습니다.

Q. 얀덱스는 ‘러시아의 구글’이라고 불리기도 하는데요. 검색 엔진이 돈을 버는 방식도 비슷하구요, 그렇죠? AI가 얀덱스의 사업모델이나 수익모델에 어떤 영향을 미친다고 생각하나요?

얀덱스나 구글 같은 거대한 기술회사는 당연히 여러가지 다양한 기술 제품과 서비스를 공급하는데요. 얀덱스와 구글이 검색, 브라우저, 지도, 이메일 등의 영역에서는 직접 경쟁한다고 볼 수 있겠지만, 택시 서비스, 음식 배달, 온라인 동영상 스트리밍 등 구글이 쉽게 대체할 수 없는 서비스도 있습니다.

얀덱스의 제품과 기술에 AI가 어떤 영향을 얼마나 미칠 것인지 그 결과를 가늠하기는 어렵지만, 지금도 얀덱스의 수많은 프로젝트들 중에 AI 기술이 활용되지 않는 곳은 아마 하나도 없을 겁니다. 그게 추천 시스템이든, 개인화 시스템이든, 빅데이터 처리 시스템이든, LLM이든, 음성 기술이든 말이죠. 아마 얀덱스에서는 AI 기술을 상당기간 실험하고 활용해 왔고, 최근에는 AI에 대한 투자와 활용을 훨씬 더 늘리고 있습니다.

Q. 오픈AI도 AI와 검색 기능을 통합하려고 노력하는 것으로 보이는데요. 이런 양상이 앞으로 검색 엔진 서비스의 경쟁 구도에 어떤 영향을 미치게 될까요?

검색 엔진이야말로 인터넷으로 향하는 핵심 관문이죠. 아마 검색 엔진만큼 초당 대량의 요청을 처리하는 시스템은 없을 겁니다. 그런데, 기존의 검색 엔진을 LLM 기반 검색을 완전히 대체하려고 하다보면, 컴퓨팅 자원의 문제 (예: GPU)와 LLM이 만드는 환각 (Hallucination)의 가능성 등 중대한 문제에 맞닥뜨리게 돼요. 검색 엔진 개발을 27년간 해 온 우리 회사의 관점에서는, 완전한 대체는 답이 아니라고 봅니다. 결국, 최적의 접근법은 기존 검색과 LLM 기반 검색을 조화롭게 결합하는 겁니다.

Q. 구글이나 오픈AI는 멀티모달 모델을 계속해서 발전시키고 있는데요. 얀덱스도 AI 모델에 멀티모달 기능을 추가할 계획인가요?

네 그렇습니다. 내부적으로 멀티모달 모델을 적극적으로 개발하고 있고, 최근 출시한 Neuro도 텍스트, 이미지, 오디오 등 여러 모달리티를 처리할 수 있습니다. 얀덱스는 다양한 모달리티에 대해서 광범위한 경험과 기술력을 이미 확보하고 있어요 - 텍스트의 경우는 이미 발전된 검색 엔진 기술을 자체적으로 개발해 왔고, 이미지는 자체 OCR 기술을 기반으로 YandexArt Text-to-Image 생성 모델과 이미지 검색 시스템을 가지고 있고, 오디오의 경우 자체 다국어 음성 비서인 Alice를 개발한 바 있습니다.

멀티모달 모델을 만드는데 있어서의 가장 큰 난관은 아마 각 모달리티에 있어서 최고 수준의 기술을 확보한 상태에서 아주 고품질의 멀티모달 트레이닝 데이터셋을 만드는 것일 겁니다.

Q. 얀덱스의 팀이 앞으로 AI 산업 발전에 필수적이라고 생각하는 추가적인 연구 분야는 어떤 것들인가요?

얀덱스에는 AI 영역 전체를 면밀하게 모니터링하고 연구하는 다양한 ML, AI 연구자들이 있습니다. 이 팀들이 집중하고 있는 분야는 이런 것들입니다:

  • 테이블 형식의 데이터를 잘 처리하기 위한 딥러닝.

  • LLM의 양자화 (Quantization)

  • 대화형 LLM 추론을 위한, 추측 디코딩 (Speculative Decoding; LLM의 추론 지연을 방지하고 속도를 높이기 위한 기술)

  • RLHF를 활용한 Text-to-Image 디퓨젼 모델의 파인튜닝

Q. 데이터 사이언티스트나 머신러닝 엔지니어 지망생에게 추천하고 싶은 책이 혹시 있나요? 어떤 것이든요.

데이터 사이언티스트라는 일은, 다양한 업무 영역에서 새로운 영역을 개척하는 일이라고 생각합니다. 그런 의미에서, 이 글을 읽는 모든 분들에게 생텍쥐페리의 ‘어린 왕자’를 - 읽어 보신 분들이 많겠지만 - 다시 한 번 추천하고 싶어요. 이 책은, 상상력, 그리고 대담한 꿈이 결국 발전하기 위한 원동력이라는 점을 상기시켜 주거든요.

읽어주셔서 감사합니다. 재미있게 보셨다면 친구와 동료 분들에게도 뉴스레터를 추천해 주세요.

Reply

Avatar

or to participate

Keep Reading