AI로 검색하다 보면 Hugging Face라는 웹사이트에 도달한 적이 있을 것입니다. 노란 이모티콘이 인상적입니다.
언뜻 보면 유머러스하지만, 실은 AI 개발의 최첨단을 달리는 성장 기업입니다. 개발자뿐만 아니라, 이용자에게 있어서도 매우 중요한 서비스를 다루고 있어, 그 개요를 파악해 봅시다.
1. Hugging Face란?
Hugging Face사는 미국에서 2016년에 설립된 기업으로, 주로 「AI개발 · 기계 학습을 서포트하는 툴」을 개발합니다. 유저 간의 학습 모델이나 데이터 세트의 공유, 클라우드 환경에서 간단하게 실행할 수 있는 데모, 그것들을 취급하기 위한 학습 콘텐츠까지 다방면에 걸친 서비스를 전개하고 있습니다.
최초(2016년)에는 채팅봇을 개발하는 기업으로 설립, 2021년 3월에 4,000만 달러의 자금 조달에 성공해 2022년에는 시가총액 20억 달러를 넘을 정도로 기대받는 기업이 되었습니다. 현재는 주력사업으로서 AI 개발 및 기계학습을 위한 플랫폼을 운영하고 있습니다. 2023년 2월에는 클라우드 서비스 대기업인 Amazon Web Services(AWS)와의 제휴를 발표했습니다.
AI 태풍의 눈 「Hugging Face」가 Google, NVIDIA, Amazon 등에서 3,130억 원을 조달
2. Hugging Face가 제공하는 서비스
Hugging Face사는 크게 나누어 2개의 서비스를 제공합니다.
- AI 특화 플랫폼 'Hugging Face Hub' 운영
- 자사에서 오픈 소스 라이브러리를 개발
・AI 특화 플랫폼 'Hugging Face Hub' 운영
Hugging Face사가 운영하는 Web사이트 「Hugging Face Hub」는 AI 개발 및 기계 학습을 위한 플랫폼입니다. 「학습이 끝난 모델이나 학습용 데이터 세트의 공개 및 다운로드」, 「프로그램의 공유와 버전 관리」를 실시하기 위한 AI 특화 GitHub와 같은 기능을 가지고 있습니다. 이미 개발 플랫폼으로 유명한 미국 Microsoft의 'GitHub'와 같은 기능 외에도 데모를 실행할 수 있는 클라우드 실행 기능을 가지고 있어, AI 모델을 빠르게 공유할 수 있습니다. 이러한 AI 개발에서 AI 모델의 실행, 공유까지의 프로세스를 효율화하는, 말하자면 GitHub + α의 특징이 지지를 넓히고 있습니다.
・오픈 소스 라이브러리를 개발
Hugging Face사는 오픈 소스 라이브러리도 개발, 공개하고 있습니다. 이러한 라이브러리를 개발 중인 프로그램에 간단히 편입하는 것으로 「Hugging Face Hub」에 공개되어 있는 학습이 끝난 모델이나 데이터 세트를 간단하게 사용할 수 있습니다.
이어 Hugging Face사의 오픈 소스 라이브러리와 Hugging Face Hub가 왜 편리한지 알아보겠습니다.
위에서 하늘색 테두리 안에 나타낸 것은 Hugging Face사가 개발한 대표적인 4개의 오픈 소스 라이브러리로, 이러한 오픈 소스 라이브러리는 Hugging Face사가 운영하는 AI 개발 플랫폼 Hugging Face Hub의 'Models', 'Datasets'와 연계하여 AI 개발을 지원합니다.
게다가, 'Models'로 공개하고 있는 학습이 끝난 모델은 'Spaces'로 간단하게 데모 애플리케이션을 작성 및 공개하는 것도 가능합니다. 자세한 내용은 아래에서 설명하겠습니다.
3. Hugging Face가 개발한 4개의 편리한 오픈 소스 라이브러리
라이브러리
라이브러리는 재사용 가능한 코드와 기능의 모음입니다. 개발자는 라이브러리를 사용하여 같은 기능을 여러 번 작성할 필요가 없어지고, 기존의 코드를 활용함으로써 개발 효율성이 향상됩니다. 또한 오픈 소스 라이브러리는 다른 개발자가 작성한 코드도 자유롭게 사용할 수 있습니다. 이에 따라 개발자간에 협력이나 공동개발이 촉진됩니다.
⊙ Diffusers
Diffusers는 이미지 생성 작업에 특화된 라이브러리입니다. 주로 이미지 생성, 이미지 편집, 데이터 확장과 같은 작업에 사용됩니다. Hugging Face Hub에서 공개된 이미지 생성에 관해 학습된 모델의 호출을 간단하게 실시할 수 있습니다. 또한, 이미지 생성 이외의 음성 인식이나 분자의 3차원 구조 예측에 이르기까지 다양한 태스크에도 대응합니다. 사전 학습된 모델을 사용할 수 있어 컴퓨팅 비용 절감과 시간 절감으로 이어집니다.
⊙ Transformers
Transformers는 자연 언어 처리(NLP) 작업에 특화된 라이브러리입니다. 주로 모델 구축, 사전 학습된 모델 파인 튜닝, 문서 분류, 정보 추출 등의 NLP 작업에 사용할 수 있습니다. Diffusers와 유사한 기능을 갖고 Hugging Face Hub에서 공개된 NLP에 대한 학습된 모델을 호출하는 데 필요한 라이브러리입니다.
⊙ Datasets
Datasets는 Hugging Face Hub에서 공개되는 음성, 이미지, 텍스트 등의 학습용 데이터셋에 액세스 하기 쉬운 간단한 코드로 실행 가능한 라이브러리로, 대규모 데이터셋의 전처리를 효율적으로 실시할 수 있습니다.
⊙ Tokenizer
Tokenizer는 자연 언어 처리에 있어서의 토큰화를 심플한 코드로 실시할 수 있는 라이브러리로, 문장이나 구의 의미를 하나의 덩어리를 나타내는 「토큰」으로 분할할 수 있습니다. Tokenizer 라이브러리는 다양한 토큰화 알고리즘을 간단하게 실행하고 고속으로 데이터 세트를 토큰화할 수 있습니다.
Hugging Face Hub의 4가지 기능
Hugging Face Hub의 특징인 「Models」, 「Datasets」, 「Spacies」, 「Docs」의 4개의 기능에 대해 알아보겠습니다.
1. Models
Hugging Face Hub의 Models는 자연 언어 처리, 이미지 인식, 음성 인식 등의 모델을 공개 및 검색할 수 있습니다.
이 Models에 업로드된 모델은 Diffusers나 Transformers를 사용하여 PC에 다운로드하지 않고도 간단히 사용할 수 있습니다.
Models에 대한 이해를 높이기 위해, 실제로 공개되어 있는 모델을 실행해 보겠습니다.
가장 많은 '좋아요 수'를 받은 runwayml/stable-diffusion-v1-5 모델을 실행하여 이미지를 생성해 보겠습니다.
Models의 모델을 사용하는 방법
STEP1
Models의 좋아요(like) 수로 최상단에 표시되고 있는 「runwayml/stable-diffusion-v1-5」를 클릭합니다. 클릭하면 Model Card가 표시됩니다.
Model Card에서는 모델을 업로드한 유저가 모델의 사용법이나 특징, 사용상의 주의점을 알려줍니다.
STEP2
Model Card에 따라 우선 Diffusers와 Transformers를 설치합니다.
# diffusers、transformers 라이브러리를 인스톨
!pip install diffusers transformers
다음엔 Model Card로 모델에 관한 코드를 복붙 하여 실행합니다.
# diffusers、transformers 라이브러리를 인스톨
from diffusers import StableDiffusionPipeline
import torch
## 모델을 선택
model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
# GPU(cuda)로 처리하도록
pipe = pipe.to("cuda")
# 프롬프트「화성에서 말을 타고있는 우주비행사의 사진」
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]
# 이미지를 저장
image.save("astronaut_rides_horse.png")
그렇게 실행하면 다음과 같은 이미지가 출력됩니다.
"a photo of an astronaut riding a horse on mars"의 출력 결과입니다.
Diffusers나 Transformers를 사용하면 간단한 코드로 학습된 모델을 호출하여 이미지를 생성할 수 있습니다. 또한 기존대로 Files and Version 에서 학습된 모델을 자신의 PC에 다운로드하여 사용할 수도 있습니다.
2. Datasets
Datasets는 자연 언어 처리, 이미지 인식 및 음성 인식에 대한 데이터 세트를 검색하는 플랫폼입니다. 다음은 데이터 세트「OpenOrca」입니다. 자연 언어 처리(NLP)와 관련된 작업에 사용할 수 있습니다. 「OpenOrca」는 방대한 용량의 데이터 세트이지만, Datasets 라이브러리를 사용하는 것으로 다운로드 없이 스트리밍 할 수 있습니다.
Datasets의 데이터 세트를 사용하는 방법
from datasets import load_dataset
# 데이터셋 안의 인스턴스명
dataset = load_dataset("Open-Orca/OpenOrca")
위의 2행 만으로 데이터 세트 「OpenOrca」를 호출하는 것이 가능합니다.
3. Spaces
Spaces에서는 클라우드 환경에서 기계 학습 모델의 데모를 실행할 수 있습니다. 기계 학습 모델의 공개자는 Hugging Face사에 GPU 사용료를 지불하는 것으로 Spaces에 데모를 설치할 수 있습니다. 때문에 데모 이용자는 무료로 기계 학습 모델을 시험하는 것이 가능합니다.
공개자가 Spaces를 설치할 때는, 기계 학습 모델을 간단하게 Web 앱으로서 사용할 수 있는 프레임워크인 Streamlit, Gradio, Docker 등에 대응하고 있기 때문에 개발에 관한 고도의 전문 지식을 필요로 하지 않습니다.
현재 Spaces에서는 다수의 기업, 개인 개발자가 총 50,000개가 넘는 데모를 공개하고 있습니다. 이번에는 사이트 내 트렌드 상위의 QR코드 AI 아트 제너레이터를 이용해 보겠습니다. 이 데모에서는 QR 코드와 지정한 프롬프트로 생성하려는 이미지를 조합하여 QR 코드 아트를 만들 수 있습니다.
스페이스 데모 실행
클릭하면 웹 앱이 표시됩니다. 데모의 설명에 따라 QR 코드를 만듭니다.
https://huggingface.co/spaces/huggingface-projects/QR-code-AI-art-generator
위와 같이 입력하고 Run을 실행합니다.
이미지 생성 결과
그러자, 아래 그림과 같이 QR 코드가 결합된 이미지가 생성되었습니다.
프롬프트 몇 마디 안 적었는데... 너무 이쁘죠?
실제로 이 이미지를 QR코드 인식 앱으로 읽어보면 제 블로그인「doooob.tistory.com」으로 연결됩니다.
이와 같이 간단하게 데모를 이용할 수 있어, 기계 학습 모델의 공유 환경이 대폭 개선된 것을 실감할 수 있습니다. 판매용 광고로서도, 개발 단계의 팀 내 공유로서도 유효합니다.
4. Docs
Docs에서는 Hugging Hub에 관한 라이브러리와 위에서 소개한 사이트 내의 기능을 배울 수 있는 학습 콘텐츠가 공개되어 있습니다. 모든 콘텐츠의 튜토리얼부터 응용까지 상세하게 해설되어 있으므로, 자세한 것은 공식 사이트를 참조하세요.
4. Hugging Face의 다양한 요금 플랜
Hugging Face사는 보안성이 높은 소스코드 관리 툴의 서브스크립션이나 클라우드 실행 환경의 사용료로 이익을 내며 운영되고 있습니다.
Hugging Face의 세 가지 계정 플랜과 기타 유료 콘텐츠입니다.
(요금 플랜과 내용은 언제든 변경될 수 있습니다.)
◎ HF Hub
- 개인용
- 요금 완전 무료
- 모델 다운로드, 파인 튜닝, 공유 가능
- 커뮤니티 지원 : 질의응답 가능
◎ Pro Account
- 개인용
- 요금 월액 9달러
- 조기 액세스 : 새로운 기능과 베타 버전에 조기 액세스 가능
- Auto Train 기능의 학습 제한량이 완화됨
- 커뮤니티 지원 : 무료 계정보다 우선적인 지원을 받을 수 있음
◎ Enterprise Hub
- 법인용
- 요금 1인당 월 20달러
- SSO 및 SAML 지원 제공
- 엔터프라이즈 보안 기능 : 모니터링, 로그 관리 및 액세스 제어 가능
기타 유료 콘텐츠
◎ Spaces Hardware
클라우드 환경에서 기계 학습 모델을 실행할 수 있는 Spaces는 무료로 CPU를 사용할 수 있지만 추가 요금을 지불하여 GPU로 업그레이드할 수 있습니다.
요금은 1시간당 최저 금액 0.60달러에서 최대 4.13달러 입니다(GPU의 성능에 따라 변동).
◎ Inference Endpoints
Hugging Face Hub의 NLP 모델을 직접 Inference Endpoints에서 쉽게 배포할 수 있습니다.
API/CLI를 사용한 프로그램에 의한 엔드포인트의 관리, 모델의 롤백 등을 간단하게 실시할 수 있습니다.
요금은 1시간당 최저 금액 0.06달러에서 최대 6.50달러 입니다(GPU의 성능에 따라 변동).
◎ Auto Train
Auto Train은 노코드로 기계 학습 모델을 학습, 평가, 배포할 수 있습니다.
요금 플랜에 따라 학습 제한량이 변경됩니다.
'AI · 인공지능 > AI 뉴스' 카테고리의 다른 글
일론 머스크가 ChatGPT의 라이벌 AI「Grok」발표 (46) | 2023.11.06 |
---|---|
AI 만으로 Angry Birds의 복제 게임을 만든 엔지니어가 등장 (51) | 2023.11.06 |
GPT-4로 논문 검토? 스탠퍼드, Nature 등의 논문 약 4,800개로 검증 (2) | 2023.11.06 |
대규모 언어 모델 「Phind」가 코딩에서 GPT-4를 능가 (45) | 2023.11.05 |
단백질의 입체 구조를 정확하게 예측하는 AI, 「AlphaFold」의 최신판이 릴리즈 (2) | 2023.11.02 |
바이두(Baidu)가 대규모 언어 모델 「문심 4.0」을 발표, GPT-4와 동등한 성능? (43) | 2023.10.31 |
세계 최초로 AI 사용 이력과 「콘텐츠 자격 증명 기능」을 내장한 카메라 「라이카 M11-P」 (53) | 2023.10.30 |
「언어를 일반화하는 인간과 같은 능력을 가진 신경망」의 등장으로 AI에 혁신이 일어날 가능성 (88) | 2023.10.27 |