Skip to main content

GPT-2로 도메인 이름 생성하기

프로젝트를 위한 맞춤형 도메인 이름 제안: GPT-2 활용 이 글은 AI로 번역된 기사입니다. 오역 가능성이 있다면 댓글로 알려 주세요.
Created on September 15|Last edited on September 15

배경

지난 8주 동안 나는 Weights & Biases에서 운영하는 Applied Deep Learning 과정에 참여했다. 커리큘럼의 일부로 매주 약 3시간씩 프로젝트를 진행해야 했다. 나는 혼자서(시애틀에서!) 작업했기 때문에 총 24시간 안에 끝까지 완성할 수 있는 주제를 선택했다. 핵심 아이디어는 이렇다. 비즈니스 설명을 주면 도메인 이름 제안을 생성할 수 있을까?

문제

매일 100,000개의 신규 도메인이 등록된다 (출처). 전체적인 경험은 아직도 1990년대 수준이다. 우리는 분명 더 잘할 수 있다고 확신했다.

사용자가 자연어 텍스트를 입력하면 제안을 받을 수 있는 시스템을 만드는 것이 목표였다.



데이터셋

나는 좋은 데이터에 대해 사전 학습된 모델을 파인튜닝하면 좋은 결과가 나올 것이라는 직감 때문에 대부분의 시간을 데이터 수집에 쏟았다.
데이터 생성은 간단한 과정이었다
  1. 상위 100만 개 웹사이트 목록 가져오기
  2. 각각을 스크레이핑하기
  3. description 메타 태그와 도메인 이름을 추출하기.
결과로 생성된 데이터셋은 다음과 같습니다:
Cupcakes and Cashmere is the premier destination for fashion, food and lifestyle inspiration = @ = cupcakesandcashmere.com

베이스라인 모델

GPT-2 베이스라인으로 선택하기 쉬웠다. 데이터를 준비한 뒤 나는 사용했다 이 저장소 모델을 미세 조정하기 위해.


호스팅

모델을 Docker 컨테이너로 패키징하고 Google Cloud에서 호스팅할 수 있었다. 이 저장소사전 학습된 모델이 이렇게 대중화된 것을 고려하면, 예상했던 것보다 여전히 일이 더 많았다.

결과

다음은 일부 결과입니다. 쿼리나 결과는 임의 선별 없이, 온도 파라미터를 한 번 설정하고 성인용 결과를 제외한 것뿐입니다(사실 입력 데이터에서부터 제외했어야 했습니다).


원래 테스트 쿼리의 결과만 봐도 현재의 도메인 이름 제안보다 훨씬 유망해 보입니다. 이 결과는 제 시스템의 첫 번째 엔드 투 엔드 실행에서 나온 것임을 기억해 주세요. 데이터셋이나 하이퍼파라미터 튜닝은 전혀 없었고, 코드에도 쓸모없는 결과를 걸러낼 비즈니스 로직이 전무합니다. 특히 fullofcocunutcake.com 같은 제안이 마음에 드는데, 입력 텍스트를 넘어 일반화할 수 있어 GPT-2의 강력함을 잘 보여주기 때문입니다.
다음으로, 제 아이디어를 바탕으로 결과를 생성해 보았습니다:

역시 꽤 유망합니다. 마음에 들지 않는 말도 안 되는 결과도 있지만, 만약 구매할 수 있다면 고려해 볼 만한 것들도 몇 개 있습니다.
다음으로, 다른 수업 프로젝트 몇 가지에 대해 도메인 이름을 생성해 보았습니다. 원래 피치 문서에 올라온 설명을 그대로 사용했습니다. 이번에도 쿼리나 결과를 임의로 선별하지 않았습니다.





평가 지표

이런 프로젝트에서 평가는 진행 상황을 측정하는 데 매우 중요합니다. 오프라인 모델 개발 단계에서는 보통 품질 지표(예: precision)와 양적 지표(예: recall)의 조합을 살펴봅니다. 이후에는 온라인 지표와 시스템 성능 지표도 고려하게 됩니다.
하지만 이 문제는 보지 못한 출력을 생성해야 하므로 오프라인 지표를 적용하기가 꽤 어렵습니다. Perplexity는 Bleu, ROUGE 같은 유사도 지표와 함께 가장 널리 쓰이는 벤치마크 중 하나입니다. 다만 양쪽 모두 결함이 있으므로 이러한 지표는 맹신하지 말고 참고용으로만 봐야 합니다. 예를 들어 cupcakes.com과 sweettreats.com은 유사도는 없지만 같은 비즈니스에 훌륭한 도메인 이름이 될 수 있는 반면, cupcakes.com과 cupackes.com은 유사도는 높지만 후자는 형편없는 이름입니다.
사람에게 결과의 품질을 평가하게 하는 것도 좋은 지표입니다. 다만 비용이 많이 들고, 느리며, 올바르게 설정하기가 어렵다는 한계가 있습니다.
이 프로젝트의 범위에서는 평가는 후속 작업으로 남겨 두었습니다.

다음 단계

시간이 더 생기면 이 아이디어를 꼭 프로덕션 수준으로 발전시키고 싶습니다. 품질 측면에서는 데이터셋 정제와 증강 같은 간단한 개선만으로도 큰 향상을 기대할 수 있습니다.



이 글은 AI로 번역된 기사입니다. 오역 가능성이 있으면 댓글에서 알려 주세요. 원문 보고서는 아래 링크에서 확인할 수 있습니다: 원문 보고서 보기