본문 바로가기
프로그래밍

생성AI 무료 API & 오픈소스 모델 (Ollama)

by Good.PhD 2024. 9. 25.

API를 사용하면 프로그래밍 코드 안에서 인공지능 모델을 호출해서 사용할 수 있게 된다. 그래서 좀 더 입맛에 맞는 다양한 애플리케이션을 개발할 수 있다. API를 사용할 때는 비용이 사용한 만큼 지출되게 된다. 여기서 사용한 만큼이란 모델에 입력한 토큰수 / 모델이 출력한 토큰수를 의미한다. 토큰 별로 가격이 정해져 있고, 입력 토큰과 출력 토큰의 비용이 서로 다르다. 그래서 얼마나 많은 text를 모델에 입력했는지, 그리고 모델이 얼마나 많은 text를 출력했는지에 따라서 사용 요금이 과금되게 된다. 

 

모델 별로 토큰 비용을 비교한 좋은 웹사이트가 있어서 소개해본다.

https://context.ai/compare/gpt-4/claude-3-sonnet

여기서 각 언어모델을 선택할 수 있고, 모델 별 가격을 비교할 수 있게 표로 보여준다.

 

모델 비교 화면

 

모델을 선택할 수 있는 옵션이 있고, 여기서 모델을 선택함으로써 가격 비교가 가능해진다. 그래서 API를 이용해서 앱을 개발하려고 하는 경우 여기서 비용을 한번 따져보는 것도 좋다.

가격과 성능 비교

 

위 이미지 처럼 입력 토큰의 가격과 출력 토큰의 가격을 비교해서 보여준다. 현재 비교를 해보니 GPT-4가 더 비용이 높은 것으로 나온다. 그러면 이를 고려해서 최종 사용할 언어모델을 확정지으면 된다. 여기서 가격은 100만 토큰 기준의 가격이다. 그래서 실제로 사용량이 많지 않다면 비용도 많이 나오지 않는다.

 

최근에 API가 무료로 제공될 수 있다는 것을 알게 되었는데, 아래에 소개하는 내용은 시간이 지나면서 얼마든지 바뀔 수 있다. 2024년 9월 기준의 내용으로 생각을 하고 참고하면 좋을 것 같고, 시간이 지난 후에는 직접 웹페이지에 접속해서 내용이 그대로 인지 확인해볼 필요가 있다. 다양한 생성AI 서비스와 마찬가지로 openAI도 무료 API 제공은 되는데, 간단하게 API가 작동하는지 테스트할 수 있는 수준으로 무료 사용이 가능한 것으로 알고 있다. 그래서 다른 모델들은 어디까지 무료 제공이 되는지 확인을 해서 정리를 해보면 좋을 것 같다는 생각이 들었다.

 

1. Claude

세심한 답변으로 사랑받고 있는 클로드도 무료 API 제공이 된다. (https://www.anthropic.com/api)

 

Build with Claude

Create user-facing experiences, new products, and new ways to work with the most advanced AI models on the market.

www.anthropic.com

 

클로드 API

 

여기서 Start building 을 누르면 API에 대한 정보를 볼 수 있다.

 

API를 생성할 수 있는 페이지

 

여기서 Get API keys를 누르면 API키도 생성하고 비용도 확인해볼 수 있다.

 

API key 생성 화면

 

여기서 Create Key 버튼을 누르면 API가 생성된다. API key는 보통 한번 보여준 후에 다시는 안 보여준다. 절대 유출되면 안되기 때문이다. 그래서 API key가 나왔을 때 바로 복사를 해서 저장을 해두어야 한다.

 

클로드 API 무료 버전 비용

 

Limits 탭에 들어가면 무료로 얼마나 사용가능한지 보여준다. Limit을 초과하지 않는 한도 내에서 시험해볼 수 있다. 클로드는 다 좋은데, 현 시점에서 임베딩 모델을 제공하지 않는 것이 아쉽다. 임베딩 모델은 RAG를 구현할 때도 필수적으로 사용하게 되는데, 임베딩 모델도 같이 있다면 유료 사용을 고민해볼만 하다고 생각한다.

 

2. Mistral

deeplearning.ai에서 미스트랄 short course를 들은 이후로는 계속 관심있게 지켜보고 있다. 미스트랄은 채팅 모델(보통 instruct 모델이라고 부른다)과 더불어 임베딩 모델도 같이 제공된다. 미스트랄 모델의 경우 오픈소스로 공개가 되어 있는 고성능 모델도 다수도 있다. (https://huggingface.co/mistralai)

 

mistralai (Mistral AI_)

 

huggingface.co

 

허깅페이스에 접속하면 볼 수 있는데, 무료로 제공되는 채팅용 모델은 Mistral 7B, Mixtral 8x7B, Mixtral 8x22B가 있다. 아래 이미지에서 더 많은 모델을 확인해볼 수 있고, 허깅페이스에서 직접 다운받아서 사용도 가능하다.

허깅페이스 미스트랄

 

미스트랄에서 개발한 모델이 모두 공개되어 있는 것은 아니고, 일부만 공개되어 있다. API를 사용하는 경우 공개된 모델 외에 Mistral Large 2도 사용할 수 있고, 임베딩 모델도 사용가능하다. Mistral API라고 검색을 하면 관련 페이지로 들어올 수 있다. (https://docs.mistral.ai/api/)

 

Mistral AI API | Mistral AI Large Language Models

Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.

docs.mistral.ai

 

미스트랄AI가 프랑스에 본사를 두고 있어서 프랑스 단어가 곳곳에 쓰여 있다. Le chat에서도 그렇고 Le Plateforme 도 앞에 Le가 프랑스어 관사다. Le Plateforme탭을 클릭해서 들어오면 다양한 옵션이 제공되고 있는 것을 볼 수 있다. 아래 스크린샷에서 API keys에 들어가면 키를 생성할 수 있고, limits에 들어가면 사용 한도가 적혀 있다. 꽤 많은 양의 토큰을 쓸 수 있는 것으로 보이는데, 무료로 쓰는 대신 내가 사용한 데이터는 모두 mistral AI에서 데이터로 활용하겠다고 한다. (처음에 사용할 때 어딘가 언급이 있었는데, 지금은 못 찾겠다) 나도 LLM으로 이것저것 실험을 하고 있는 중이다보니, 무료로 다양한 API 기능을 적용하면서 시연을 할 수 있으니 윈윈할 수 있는 좋은 모델이라는 생각이 든다.

Mistral AI 접속 화면

 

Limits에서 한달에 얼마나 사용 가능한지 모델별로 정리가 되어 있다. 다양한 모델이 있다보니 일부 모델만 스크린 샷으로 찍을 수 있었다. embed가 임베딩 모델이다. 상당히 많은 양을 쓸 수 있어서 미스트랄로 RAG를 만들어서 테스트해봐도 좋을 것 같다.

미스트랄 API에서 제공하는 모델들

 

3. Gemini

원래 구글에서 제미나이 API를 일부 무료로 쓸 수 있게 제공한다고 들었다. 그래서 Google에서 내용을 찾아봤다.

https://g.co/kgs/Enzs9uq

 

Gemini Developer API | Gemma open models  |  Google AI for Developers

Build with Gemini 1.5 Flash and 1.5 Pro using the Gemini API and Google AI Studio, or access our Gemma open models.

ai.google.dev

 

Google AI studio로 연결이 된다. 여기서 Gemini API로 이동하면 API 가격에 대한 정보를 볼 수가 있는데, 찾아보니 상당량을 무료로 제공해주고 있다.

Google AI studio (Gemini API)

 

일일 요청 수 제한만 있으면 상당량을 써볼 수 있을 것 같다. 그래서 조만간 꼭 써봐야겠다는 생각이 들었다. 멀티모델 모델도 있고, 텍스트 임베딩 모델도 제공해주고 있으니 여러가지 애플리케이션을 만들어 볼 수 있을 것 같다.

Gemini 모델들과 토큰 비용

 

위 화면에서 조금만 내리면, '지금 사용해보기' 버튼이 있다. 그걸 누르면 바로 Google AI Studio로 이동하게 되고, 여기서API 키를 생성할 수 있다. 아직 사용은 안 해봤지만 벌써 가슴이 두근두근..

Gemini API 키 생성

 

4. 오픈소스 모델 (Ollama)

미스트랄 같은 경우는 일부 모델을 오픈소스로 공개를 했다. 그래서 허깅페이스에서 사용하는 방법도 있지만, ollama를 사용하면 좀 더 쉽게 사용할 수 있다. (https://ollama.com/)

 

Ollama

Get up and running with large language models.

ollama.com

처음에는 llama라고 써있어서 메타에서 개발해서 운영하는 곳인줄 알았는데 그렇지는 않은 것 같다. 여기에는 온갖 오픈소스 모델이 있어서 ollama를 다운받은 후에 각 모델을 다운받아서 사용해볼 수 있다. ollama는 langchain, autogen, crewai와도 연동이 되서 오픈소스 모델로 RAG나 멀티 에이전트 시스템을 구현하기에 좋다. 허깅페이스도 사용하기 불편하다면 ollama를 추천한다. 굉장히 편하게 되어 있다. ollama를 통해서 오픈소스 모델을 사용한하면 비용은 나가지 않는다. 하지만 이 경우에는 오픈 소스 모델을 원활하게 운영하기 위한 서버의 비용을 고민을 해야 한다. 현재 노트북에서는 Llama 3 8B를 사용해봤다.

노트북 사양은 CPU Intel i7 1.8GHz, Memory 16GB 인데, 약간 답변이 느리긴 하다. GPU에서 사용하고 싶은데 세팅에 실패해서 일단 CPU에서 사용하고 있다. 윈도우에서 써봤고, 커맨드 창에서 모델을 불러와서 사용한다. 영어로 대답할 때는 이모티콘을 안 썼는데, 한국어로 대답을 요구하니 갑자기 이모티콘을 남발하기 시작했다. 우리가 이모티콘을 많이 쓰기는 하나보다...

ollama 사용 화면

 

노트북 용량이 넉넉하지 않아서 모델을 많이 설치하지는 못했다. 사실 가장 최근 모델인 llama 3.1 405B 모델을 써보고 싶었으나... 코파일럿을 통해 검색을 해봤을 때 llama3.1 405B 모델을 원활하게 운영하려면 메모리 1TB 정도가 요구되고, 용량은 SSD 820GB 정도가 필요하다고 한다. H100 (80GB)로 16장은 써야 원활하게 운영할 수 있다고 하니 아무나 쓸 수 있는 모델은 아닌 것 같다. ollama에서는 llama 3.1 7B 모델로 만족하기로 했다...

데스크탑에서도 테스트를 해봤는데, 노트북보다는 사양이 좀 더 좋아서 그런지 7B 모델 정도는 답변이 시원시원하게 나온다. 그런데 Mixtral 8x22B 모델을 ollama에서 테스트 해봤더니 답변 생성 속도가 조금 느려지는 것을 확인했다. 아무튼 ollama를 써도 python 안에서 모델의 답변을 만들어낼 수 있고, 다른 라이브러리랑도 연동해서 쓸 수 있다보니 꽤 괜찮은 옵션이 될 수 있을 것 같다. API 비용도 사용자가 늘어나면 꽤 부담될 수 있기 때문에 오픈 소스를 쓰는 것도 나쁘지 않다고 본다. 속도 문제와 성능 문제만 잘 해결할 수 있다면...!