본문 바로가기
IT/AI

5분 만에 배우는 허깅페이스: 빠르고 쉬운 시작 가이드

by aloveu 2024. 2. 21.
반응형

 

안녕하세요! aloveu입니다.

인공지능의 발전과 함께 자연어 처리(NLP)는 최근 뜨거운 주제입니다.

그중에서도 머신러닝 쪽의 깃허브라고도 불리기도 하는 허깅페이스는 NLP 분야의 핵심 플랫폼으로, 다양한 모델, 토크나이저, 데이터셋, 코드 등을 제공하며 연구 및 개발에 큰 도움을 주고 있습니다. 

기능이 방대하고 복잡하기 때문에 처음 접하는 사용자들에게는 어려움을 느낄 수 있는데 오늘은 허깅페이스의 기본적인 사용법을 알려드리려고 합니다.


| 허깅페이스란 무엇인가?

허깅페이스는 NLP(Natural Language Processing) 연구 및 개발을 위한 핵심 플랫폼입니다.

다양한 NLP 모델, 토크나이저, 데이터셋, 코드 등을 제공하며, 사용자 친화적인 인터페이스와 활발한 커뮤니티를 통해 NLP 연구 및 개발을 지원합니다.

https://huggingface.co/

 

Hugging Face – The AI community building the future.

The Home of Machine Learning Create, discover and collaborate on ML better. We provide paid Compute and Enterprise solutions. We are building the foundation of ML tooling with the community.

huggingface.co

 

특징으로는 아래와 같습니다.

  • 모델 허브: Hugging Face의 핵심은 방대한 규모의 모델 허브입니다. 이 허브에는 다양한 NLP 모델, 토크나이저, 데이터셋, 코드 등이 포함되어 있으며, 누구나 쉽게 접근하고 활용할 수 있습니다.
  • Transformers 라이브러리: Hugging Face는 TensorFlow와 PyTorch 기반으로 구현된 Transformers 라이브러리를 제공합니다. 이 라이브러리는 BERT, GPT-3 등 최첨단 NLP 모델을 쉽게 사용할 수 있도록 설계되었으며, 다양한 NLP 작업을 수행하는 데 필요한 기능을 제공합니다.
  • 사용자 친화적인 인터페이스: Hugging Face는 웹 기반 인터페이스와 CLI (Command Line Interface)를 제공하여 모델 검색, 다운로드, 평가, 배포 등을 쉽게 수행할 수 있도록 지원합니다.
  • 커뮤니티: Hugging Face는 활발한 개발자 커뮤니티를 보유하고 있습니다. 커뮤니티는 다양한 튜토리얼, 예제, 논의 포럼 등을 제공하여 사용자들이 Hugging Face 플랫폼을 더욱 효과적으로 활용할 수 있도록 지원합니다.

AI에 관심이 조금 있는 분이라면 요즘 미드저니나 스테이블 디퓨전이나 많이 들어보셨을 겁니다.

허깅페이스에서는 유료로 사용해야했던 기능들을 스페이스 메뉴에서 데모로 사용해 볼 수 있는 장점도 있으니 한번 방문해서 꼭 접해보시기를 추천드립니다.

 

| 허깅페이스 어떻게 사용할까요?

첫번째는 모델에서 api를 가져다 쓰시려면 회원가입이 되어있어야 합니다.

회원가입을 한 이후에는 내 메뉴의 Setting으로 들어가서 accessToken을 생성해 줍니다.

access token발행

 

따로 복사할 필요는 없어요. 나중에 api 코드를 제공받을 때 들어가져 있습니다.


그러면 이제 models 메뉴( https://huggingface.co/models )로 들어가 봅시다. 엄청나게 많은 모델들이 있는데 내가 사용할 모델을 고릅니다.

페이징이 오늘자로 17000이 넘으니 사용하고 싶은 모델을 찾는 것도 한세월 되겠네요. 그럴 땐 필터를 사용합시다.

models filter

 

저는 text-to-image라는 필터를 걸고 익숙한 이름인 stable-diffusion-xl-base-1.0이라는 모델을 찾아서 들어가 보겠습니다.

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0

stable diffusion model

 

우측에 Deploy를 선택하고 API 항목이 있는지 봅니다. 제공을 하지 않는 모델들도 있기 때문이에요.

있다면 클릭해 주시고 안에 있는 코드를 복사합니다. 개발에 친숙하지 않으신 분들도 쉽게 접근할 수 있게 소스코드까지 제공을 해줍니다. 저는 javascript에 익숙하니 javascript를 사용할 거예요.

Inference API 모달

 

그리고 간단히 내 로컬 프로젝트에 input과 generate 버튼을 만들고 커스텀을 해줍니다.

async function query(data) {
    const response = await fetch('https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0', {
        headers: { Authorization: 'Bearer XXXXXX{<=발급받은AccessKey}' },
        method: 'POST',
        body: JSON.stringify(data),
    });
    const result = await response.blob();
    return result;
}

function generate() {
    query({ inputs: inputPrompt.value }).then((response) => {
        console.log(response);
        image.value = window.URL.createObjectURL(response);
    });
}

 

그리고 프롬프트를 작성하고 제너레이트를 해주면 완성이죠. 아무래도 이미지를 생성하다 보니 시간은 좀 걸리네요.

stable diffusion모델로 생성한 이미지

 

| 마무리

Inference API 가 있는 모델이라면 이렇게 가져다가 누구나 써볼 수 있으니 엄청난 장점이 아닐 수 없습니다.

사용하기에 따라서 어마어마한 무기가 될 거 같아요.

이거 말고도 허깅페이스에는 더 많은 기능들이 있으니 사용하시려면 공식 문서를 참고하시면 되고, 저도 작업을 하면서 종종 허깅페이스 활용에 대해 글을 써보겠습니다. 

 

그럼 이야기 들어주셔서 감사합니다. ^_____^


| 참고

Hugging Face 공식 웹사이트: https://huggingface.co/

 

반응형