구독해서 새 게시물에 대한 알림을 받으세요.

Workers AI: Cloudflare 전역 네트워크에서 서버리스 GPU 기반 추론

2023-09-27

8분 읽기
이 게시물은 English, Français, Deutsch, 日本語, Español简体中文로도 이용할 수 있습니다.

개발자 커뮤니티에 조금이라도 참여한다면 최근 AI가 이룩한 발전이 생태계에 미친 영향을 피하기란 거의 불가능에 가깝다는 것을 깨닫게 됩니다. 워크플로에서 생산성을 개선하는 데 AI를 사용하든, 사용자에게 AI 기반 주요 기능을 제공하든, AI는 모든 곳에 자리를 잡고 있습니다. AI 개선에 대한 관심은 엄청납니다. 그렇기에 Cloudflare는 앞으로의 기회에 대한 기대가 매우 크지만, 이것만으로는 충분하지 않습니다.

불과 얼마 전까지만 해도 AI의 위력을 활용하려면 머신러닝의 모든 것을 알아야 하고 이를 지원하는 인프라를 관리할 수 있어야 했습니다.

백만 명이 넘는 개발자가 활동하는 개발자 플랫폼으로써 Cloudflare는 아직 AI의 무궁한 가능성을 믿고, 그렇기 때문에 Cloudflare는 AI가 개발자에게 전달되는 방식을 바꾸고 있습니다. 현존하는 수많은 솔루션은 강력하지만 폐쇄적인 독점 모델을 기반으로 합니다. 또한, 개발자와 사용자가 요구하는 개인정보 보호에 대한 요건을 해결하지 않습니다. 그 대신 오픈 소스 환경은 강력한 모델이 폭발적으로 늘어나고 있습니다. 하지만 모든 개발자가 접근할 수 있는 것은 아닙니다. 호스팅되는 위치와 관계없이 코드에서 모델을 실행할 수 있고, GPU를 찾거나 이를 지원하기는 인프라를 전혀 설정하지 않아도 되는 환경을 상상해 보세요.

이는 Cloudflare가 설레는 마음으로 서비스형 AI 추론 플랫폼 Workers AI를 발표한 이유입니다. Cloudflare의 GPU 전역 네트워크를 기반으로 개발자는 단 몇 줄의 코드만으로도 AI 모델을 실행할 수 있습니다. 어디에서나 액세스할 수 있으며, 개인정보 보호에 중점을 둔 서버리스 오픈 플랫폼으로 사용자와 가까운 위치에서 실행되고 사용한 만큼 비용을 지불합니다. 그 시작부터 동급 최고의 개발자 경험을 선사하기 위해 만들어졌습니다.

Workers AI - 손쉬운 추론 작업

Cloudflare에서 그 어떤 개발자라도 AI 추론을 수행할 수 있는 Workers AI를 출시합니다. 이 목표를 실제로 달성하려면, 플랫폼에 대한 별다른 조치 없이 바로 사용할 수 있어야 합니다. 이것이 어떻게 가능할까요?

  • 그 핵심은 세계 최고 수준의 Cloudflare GPU 네트워크라는 적합한 인프라에서 실행됩니다.

  • Cloudflare의 인프라에서 별다른 추가 조치 없이 곧바로 원활하게 실행할 수 있는 상용 모델을 제공합니다.

  • 마지막으로, 최종 개발자에게 즐거운 방식으로 이를 제공합니다. 개발자는 첫 Workers AI 앱을 몇 분 만에 구축하고, “와, 마법 같은데!”라고 말할 수 있어야 합니다.

그렇다면 Workers AI란 정확히 무엇일까요? Workers AI는 Cloudflare 개발자 플랫폼에 추가하고 있는 또 다른 빌딩 블록입니다. 개발자가 신뢰할 수 있는 Cloudflare의 전역 네트워크의 서버리스 GPU에서 잘 알려진 AI 모델을 실행할 수 있도록 지원합니다. Cloudflare 개발자 플랫폼에 최근에 추가된 서비스로, Workers와 Pages의 조합을 통해 원활하게 작동합니다. 하지만 Cloudflare는 진정한 접근성을 구현하기 위해 이를 플랫폼 애그노스틱으로 만들었습니다. 그렇기에 어디에서나 작동하고 REST API를 통해 제공됩니다.

알고 있으며 인기가 많은 모델

Cloudflare는 엄선한 인기 오픈 소스 모델 세트를 출시합니다. 이 세트는 다음을 비롯한 다양한 추론 작업을 다룹니다.

  • 텍스트 생성(대규모 언어 모델): meta/llama-2-7b-chat-int8

  • 자동 음성 인식(ASR): openai/whisper

  • 번역: meta/m2m100-1.2

  • 텍스트 분류: huggingface/distilbert-sst-2-int8

  • 이미지 분류: microsoft/resnet-50

  • 임베딩: baai/bge-base-en-v1.5

사용 가능한 모든 모델은 Cloudflare 대시보드에서 검색할 수 있으며, 곧 모델별 로그와 분석을 심층적으로 알아볼 수 있는 서비스를 제공할 예정입니다!

이는 단순한 시작에 불과합니다. 더 큰 계획이 준비되어 있습니다. 출시 후에는 커뮤니티 피드백에 따라 지속적인 확장을 이어 나갈 것입니다. 더 놀라운 소식은 Cloudflare 카탈로그를 0개에서 60개로 만들기 위한 노력의 일환으로, 선도적인 AI 커뮤니티 겸 허브인 Hugging Face와의 파트너십을 맺었다는 것입니다. Hugging Face와의 파트너십은 다양한 이점을 가져옵니다. 이에 대한 자세한 내용은 여기에서 확인해 보세요. 하지만 곧 Workers AI에서 바로 Hugging Face 카탈로그의 하위 세트를 검색할 수 있을 것입니다.

높은 접근성

Cloudflare 개발자 플랫폼이 가진 미션 중 하나는 개발자가 꿈의 애플리케이션을 구축하는 데 필요한 모든 빌딩 블록을 제공하는 것입니다. 개발자로서 여러분의 업무는 애플리케이션의 구축이기에 올바른 블록에 대한 접근성은 그 미션 중 극히 일부일 뿐입니다. Cloudflare의 목표는 이러한 접근성을 최대한 높이는 것입니다.

Cloudflare는 진입점과 관계없이 Workers AI를 쉽게 사용할 수 있도록 Cloudflare 생태계 내 쉬운 사용을 위해 Workers 또는 Pages를 통한 액세스를 제공하고, 현재 스택과 Workers AI를 함께 사용하고자 하는 경우, REST API를 통한 액세스를 제공하고 싶었습니다.

영어 텍스트를 프랑스어로 번역하는 빠른 CURL의 예시는 다음과 같습니다.

응답은 다음과 같습니다.

curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/@cf/meta/m2m100-1.2b \
-H "Authorization: Bearer {API_TOKEN}" \
	-d '{ "text": "I'll have an order of the moule frites", "target_lang": "french" }'

이를 모든 스택을 비롯하여 어디에서나 사용할 수 있습니다. 선호하는 Jamstack 프레임워크, Python + Django/Flask, Node.js, Ruby on Rails 등 가능성은 무한합니다. 그리고 배포만 하면 끝입니다.

{
  "result": {
    "answer": "Je vais commander des moules frites"
  },
  "success": true,
  "errors":[],
  "messages":[]
}

개발자를 위한 설계

개발자 경험은 Cloudflare에서 매우 중요합니다. 사실 본문의 대부분이 이에 대한 내용입니다. 제품은 바로 사용할 수 있어야 합니다. 별다른 조치 없이 사용할 수 있는 인기 모델을 제공해야 합니다. Cloudflare나 다른 플랫폼을 통해 구축 및 배포하더라도 모든 개발자는 이에 구애받지 않고 액세스할 수 있어야 합니다. 하지만 그 이상의 무언가가 필요합니다. 경험에는 마찰이 없어야 하며, 시작부터 프로덕션까지 걸리는 시간이 짧아야 합니다. 그리고 그 과정이 즐거워야 합니다.

사용이 얼마나 쉬운지 보여드리기 위해 또 다른 예시를 살펴보죠! Meta가 오픈 소스로 제공하는 인기 있는 대규모 언어 모델인 Llama 2를 Worker에서 실행해 보겠습니다.

기본적인 단계(Cloudflare 계정, Node, NPM 등)를 이미 끝냈다고 가정하지만, 만약 끝내지 않았다면이 가이드를 활용해 환경을 올바르게 설정하세요!

1. Workers 프로젝트 생성

다음을 실행하여 workers-ai라는 새 프로젝트를 생성합니다.

workers-ai Worker를 생성할 때 설정 질문에 다음과 같이 답합니다.

$ npm create cloudflare@latest
  • 앱 이름에는 workers-ai를 입력합니다.

  • 애플리케이션 유형은 Hello World 스크립트를 선택합니다.

  • TypeScript 사용은 yes를 선택합니다.

  • Git 사용은 yes를 선택합니다.

  • 배포는 no를 선택합니다.

마지막으로 새로운 앱 디렉터리로 이동합니다.

2. Workers AI와 사용자의 Worker를 연결

cd workers-ai

Workers AI 바인딩을 생성합니다. 이를 통해 API 키를 관리하지 않아도 Worker에서 Workers AI 서비스에 액세스할 수 있습니다.

Workers AI와 사용자의 Worker를 연결하려면 다음을 wrangler.toml 파일의 끝에 추가합니다.

Workers AI와 Pages 함수를 연결할 수도 있습니다. 더 자세한 정보는 함수 바인딩을 참조하세요.

[ai]
binding = "AI" #available in your worker via env.AI

3. Workers AI 클라이언트 라이브러리 설치

4. Worker에서 추론 작업 실행

npm install @cloudflare/ai

다음 코드로 source/index.ts를 업데이트합니다.

5. 로컬에서 Wrangler로 개발

import { Ai } from '@cloudflare/ai'
export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const input = { prompt: "What's the origin of the phrase 'Hello, World'" };
    const output = await ai.run('@cf/meta/llama-2-7b-chat-int8', input );
    return new Response(JSON.stringify(output));
  },
};

프로젝트 디렉터리에서 다음을 실행하여 Workers AI를 로컬에서 테스트합니다.

참고: 이러한 모델은 현재 Cloudflare의 GPU 네트워크(로컬 아님)에서만 실행됩니다. 따라서 위의 --remote를 반드시 설정해야 합니다. 그러면 이 지점에 로그인 페이지가 나타납니다.

$ npx wrangler dev --remote

Wrangler는 URL을 제공합니다(대부분의 경우 localhost:8787). 이 URL을 방문하면 다음과 같은 응답을 볼 수 있습니다.

6. Worker 배포

{
  "response": "Hello, World is a common phrase used to test the output of a computer program, particularly in the early stages of programming. The phrase "Hello, World!" is often the first program that a beginner learns to write, and it is included in many programming language tutorials and textbooks as a way to introduce basic programming concepts. The origin of the phrase "Hello, World!" as a programming test is unclear, but it is believed to have originated in the 1970s. One of the earliest known references to the phrase is in a 1976 book called "The C Programming Language" by Brian Kernighan and Dennis Ritchie, which is considered one of the most influential books on the development of the C programming language.
}

마지막으로 프로젝트를 인터넷에서 액세스할 수 있게 Worker를 배포합니다.

끝입니다. 말 그대로 처음부터 AI를 배포할 때까지 단 몇 분이면 충분합니다. 단순한 예시이지만, 이는 어떤 프로젝트에서도 Workers AI를 실행하는 것이 얼마나 쉬운지 보여줍니다.

$ npx wrangler deploy
# Outputs: https://workers-ai.<YOUR_SUBDOMAIN>.workers.dev

기본 개인정보 보호

Cloudflare가 설립되었을 때 우리의 가치 제안에는 3개의 기둥이 있었습니다. 바로 더 안전하고, 더 신뢰할 수 있고, 더 뛰어난 성능을 만드는 것이었습니다. 시간이 지나면서 Cloudflare는 더 좋은 인터넷이 개인정보가 더 잘 보호되는 인터넷이기도 하다는 사실을 깨달았습니다. Cloudflare는 이러한 인터넷을 구축하는 데 보탬이 되고 싶습니다.

Workers AI는 기본값이 비공개인 이유입니다. Cloudflare는 모델, LLM 등을 사용자의 데이터나 대화로 훈련하지 않습니다. Cloudflare의 모델은 사용자의 사용으로 학습하지 않습니다. 개인적 또는 비즈니스 목적에 따라 Workers AI를 사용할 때는 데이터 유출에 대한 걱정은 불필요합니다. 다른 공급자는 엔터프라이즈 버전에서만 이러한 기본 기능을 제공합니다. Cloudflare에서는 모두를 위한 내장 기능입니다.

Cloudflare는 향후 데이터 현지화 지원 역시 기대하고 있습니다. 그리고 이를 실현하는 데 뒷받침이 되어줄 야심 찬 GPU 롤아웃 계획이 예정되어 있습니다. Cloudflare는 오늘 7곳을 출범하며, 2023년 말까지 약 100곳을 채울 예정입니다. 2024년 말까지는 거의 모든 곳에 존재할 것입니다. 궁극적으로 이 작업은 개발자가 사용자에게 뛰어난 AI 기능을 제공할 수 있게 하는 동시에 최종 사용자의 데이터 현지화 요건을 지속해서 충족하는 것을 지원합니다.

플랫폼의 강력함

벡터 데이터베이스 - Vectorize

Workers AI의 핵심은 추론이며, Workers AI에서 이는 손쉬운 작업입니다. 하지만 추론은 종종 전체 상황에서 극히 일부에 해당합니다. 대규모 언어 모델은 과거 특정 시점의 스냅샷을 기반으로 고정된 데이터 세트에서 학습하며, 비즈니스나 사용 사례의 전후 상황을 고려하지 않습니다. 사용자에게 특정한 정보는 프롬프트를 제출할 때 결과의 품질을 개선할 수 있습니다. 더 유용해지고 관련성이 높아집니다. 이러한 이유로 Cloudflare는 Vectorize도 함께 출시합니다. Cloudflare의 벡터 데이터베이스 Vectorize는 Workers AI와 원활하게 작동하도록 설계되었습니다. Workers AI와 Vectorize를 함께 사용하는 방법에 대한 간단한 개요는 다음과 같습니다.

예시: 사용자의 데이터(지식 기반)를 사용하여 사용자가 채팅을 사용할 때 LLM에 추가 문맥을 제공합니다.

  1. 초기 임베딩 생성: 임베딩 모델을 사용하여 Workers AI로 데이터를 실행합니다. 출력은 임베딩이며, 단어를 숫자로 표현합니다.

  2. 임베딩을 Vectorize에 삽입: 이는 기본적으로 벡터 데이터베이스에 데이터를 삽입합니다. 따라서 사용자의 쿼리와 비슷한 임베딩을 검색하기 위해 나중에 이를 사용할 수 있습니다.

  3. 사용자 질문에서 임베딩 생성: 사용자가 AI 앱에 질문을 제출하면 우선 질문을 가져와 임베딩 모델을 사용하여 Workers AI로 실행합니다.

  4. Vectorize에서 문맥 습득: 임베딩을 사용하여 Vectorize를 쿼리합니다. 이렇게 하면 사용자의 질문과 비슷한 임베딩이 출력됩니다.

  5. 문맥 인식 프롬프트 생성: 이제 이러한 임베딩과 관련된 기존 텍스트를 가져와 벡터 검색에서 가져온 텍스트 및 기존 질문과 결합하여 새로운 프롬프트를 만들어 냅니다.

  6. 프롬프트 실행: 최종 결과를 위해 LLM 모델을 사용하여 Workers AI로 프롬프트를 실행합니다.

AI Gateway

AI Gateway는 고급 사용 사례를 다룹니다. 다른 한편으로 모델을 다른 곳에서 실행하지만, 경험을 더 많이 활용하고 싶다면 Cloudflare AI 게이트웨이를 통해 이러한 API를 실행하여 캐싱, 레이트 리미팅, 분석 및 로깅과 같은 기능을 사용할 수 있습니다. 이러한 기능의 활용은 엔드포인트를 보호하고, 비용을 모니터링 및 최적화하고, 데이터 손실 방지에 도움이 될 수 있습니다. AI 게이트웨이에 대한 자세한 내용은 여기에서 확인하세요.

지금 바로 시작하는 구축

직접 사용해 보시고 의견을 알려주세요. Cloudflare는 모든 무료 및 유료 Workers 요금제 사용자를 대상으로 Workers AI 오픈 베타를 출시합니다. 초기 단계이기 때문에 완벽하지는 않습니다.

경고 - 초기 베타 버전입니다

현재 프로덕션 앱을 위한 사용은 권장하지 않으며, 제한과 액세스는 변경될 수 있습니다.

제한 사항

초기에는 모델별로 제한을 두어 출시합니다.

  • @cf/meta/llama-2-7b-chat-int8: 전 세계적으로 50reqs/min

제한에 대한 전체 개요는 Cloudflare 문서에서 확인하세요.

요금제

오늘 Cloudflare에서 출시한 서비스는 앞으로 출시할 제품의 맛보기입니다(더 이상 지체할 수 없었습니다). 하지만 완벽한 Workers AI 버전을 선보일 날을 바라고 있습니다.

Cloudflare는 애플리케이션을 구축하려고 할 때 비용이 얼마나 들지 알고 싶어 하신다는 사실을 알고 있습니다. 특히나 AI 비용은 눈덩이처럼 급격히 늘어나기 쉬우니까요. 그렇기에 여러분에게 Workers AI의 예상 가격을 알려드리겠습니다.

첫날부터 요금을 청구하지는 않겠지만, 향후 예상 비용을 안내합니다.

사용자는 2가지 Workers AI 실행 방법 중에서 하나를 선택할 수 있습니다.

  • 일반 트위치 뉴런(RTN) - $0.01/1,000개의 뉴런으로 용량이 있는 모든 장소에서 실행

  • 빠른 트위치 뉴런(FTN) - $0.125/1,000개의 뉴런으로 사용자와 가장 가까운 위치에서 실행

뉴런이란 무엇일까요?

뉴런은 항상 0으로 줄어드는 AI 출력을 측정하기 위한 하나의 방식입니다(사용이 없으면 0개의 뉴런이 청구됩니다). 예를 들자면, 1,000개의 뉴런으로는 130개의 LLM 응답, 830개의 이미지 분류, 1,250개의 임베딩을 생성할 수 있습니다.

Cloudflare의 목표는 고객이 사용한 만큼의 비용을 지불하고, 우선시하는 사항이 가격이든, 대기 시간이든, 저마다의 사용 사례에 가장 적합한 요금제 선택을 지원하는 것입니다.

로드맵에는 무엇이 있을까요?

Workers AI는 이제 첫걸음을 떼었습니다. 그리고 훌륭한 제품을 만드는 데는 피드백이 필요합니다. 로드맵에는 기대되는 요소가 많습니다.

더 많은 모델

Cloudflare는 작동하는 고정 모델 세트와 함께 본 서비스를 출시하지만 피드백에 따라 새 모델을 계속해서 추가할 계획입니다. Workers AI에 추가되길 원하는 특정 모델이 있다면 Cloudflare Discord에 방문하여 알려주세요!

이 외에도 Cloudflare는 Hugging Face와의 파트너십을 맺었습니다. 곧 Workers AI에서 바로 Hugging Face 카탈로그의 하위 세트에 액세스하고 이를 실행할 수 있게 될 것입니다.

분석 및 관찰 가능성

지금까지 Cloudflare는 단 한 가지, 즉, 개발자가 단 몇 줄의 코드만으로도 강력한 AI 모델을 매우 쉽게 실행할 수 있도록 만드는 목표에 크게 집중했습니다. 하지만 이는 전체적으로 봤을 때 일부에 불과합니다. 앞으로 Cloudflare는 분석 및 관찰 가능성 기능을 개발하여 사용량, 성능, 모델별 지출에 대한 인사이트와 더불어 탐색을 원한다면 로그를 분석할 수 있는 기능까지 제공할 예정입니다.

글로벌 CPU 커버리지로 가는 길

Cloudflare의 목표는 지구라는 Region에서 추론을 실행하는 최고의 플랫폼이 되는 것입니다. 이를 위해 Cloudflare는 가능한 한 빠른 속도로 데이터 센터에 GPU를 추가하고 있습니다.

올해 말까지 100곳의 데이터 센터에 작업을 완료할 계획입니다.

2024년 말까지는 거의 모든 곳에 증축을 완료할 계획입니다.

증축을 선보일 수 있어 기쁜 마음입니다. Cloudflare 문서로 시작하세요.영감이 필요하거나, 개발 중인 서비스를 공유하고 싶거나, 질문을 하고 싶다면 Developer Discord를 방문하세요.

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 앱을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
Birthday Week (KO)Cloudflare WorkersAIDeveloper PlatformDatabase (KO)Vectorize (KO)개발자

X에서 팔로우하기

Phil Wittig|@pdwittig
Rita Kozlov|@ritakozlov_
Rebecca Weekly|@rebeccalipon
Celso Martinho|@celso
Cloudflare|@cloudflare

관련 게시물

2024년 10월 31일 오후 1:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network. ...