2025. 6. 29. 22:20ㆍ연구하기, 지식
오랜만에 블로그에 글을 업로드 한다. 최근 굉장히 바쁜일들이 이어지고 있다. 공적으로는 하나의 프로젝트 마무리 때문에 고객사에게 많은 클레임을 받고 있다. 'AI는 완벽하지 않아요!', 'AI는 사람보다 뛰어날 수 없어요!' 라는 말을 수 백번 해보았지만 통하지 않고 AI가 더 이상 AI가 아닌 하나의 알고리즘을 만들어주기 위한 고군분투를 하고 있다. 사적으로는 개인 프로젝트를 진행중이다. 수 년을 고민하던 프로젝트를 점점 가시화 하고 있다. '주식 AI 에이전트' 관련 프로젝트이고 현재는 백 테스트 진행중이며, 고도화를 진행할 예정이다. 다양한 개발자들과 소통도 하는 중이다. 이 과정에서 블로그에 투고하고 싶은 글이 많았지만 한번 떠오르면 멈추지 못하는 버릇 때문에 개발에만 집중했다. 앞으로 차근차근 나아가면서 해 볼 예정이다.
많은 분들이 LLM을 사용하고 있다. 나의 부모님도 적극 사용중이고 동생들은 내가 결제해 준 월간 구독 플랜을 사용하며 학업에 도움을 받고있다(난 무료다 ㅜㅜ). 그리고 개발자분들은 많은 프로젝트에서 API로 LLM을 활용하고 있을 것이다. 대표적으로는 Chat GPT, Gemini, Claude 등을 쓰고 있을 것이다. 하지만 언제나 문제는 돈이다. 특히, 대학생들은 금전적 여유가 부족하지 않은가. 나도 예전에 프로젝트 할 때 구글 클라우드 플랫폼 $300 무료 크레딧만 활용했던 기억이 있다. 사실 텍스트 모델만 쓰려면 무료 모델이 생각보다 많지만 멀티 모달로 가면 문제가 많이 생긴다. 허깅 페이스에서 모델을 가져와 쓰자니 GPU 자원이 부족하고, 무료 API는 제한이 있거나 유료이고, 성능이 떨어진다. 오늘 이러한 문제를 완벽히 삭제해줄 방법을 소개해주겠다.
구글에서는 엄청난 성능의 멀티모달 모델을 무료로 API로 제공한다. 물론 허깅페이스에서 가져다가 로컬로 쓰는 것도 가능하다. 난 하루에 네번씩 구글 본사쪽으로 절을 한다. Gemini를 아는 사람은 많은 거지만 Gemma3는 무엇인가? 아래 특징을 정리 해보겠다.
Gemma3 특징
- 멀티모달 지원
- 128K 토큰 컨텍스트
- API 지원
- 140여 개의 언어 지원
- 4가지 크기별 모델 지원
특히 파라미터 크기에 따라 사용할 수 있다는 것은 개발할 때 상당한 이점이 있다. 양자화 모델도 지원하고 1B 모델은 필요 GPU 메모리가 1GB가 채되지 않는다. 놀랍다. 더욱 다양한 정보는 아래 링크에서 찾아볼 수 있다.
https://ai.google.dev/gemma/docs?hl=ko
Gemma 모델 개요 | Google AI for Developers
오디오 입력과 함께 출시되었으며 일상적인 기기에서 사용하도록 최적화된 Gemma 3n을 만나보세요. 자세히 알아보기 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Gemma 모델
ai.google.dev
더 알아볼 필요도 없이 파이썬에서 바로 활용해보자. 멀티모달을 체크해보기 위해 PDF 파일을 프롬프트로 넣는 방법으로 해보겠다.
Gemma3 사용법
1. 구글 AI 스튜디오 API 키를 다음 웹사이트에서 발급 받는다. Gemini API 프로젝트로 받으면 된다.
https://aistudio.google.com/apikey?hl=ko
로그인 - Google 계정
이메일 또는 휴대전화
accounts.google.com
2. 구글 genai 라이브러리를 설치해준다.
pip install -q -U google-genai
3. 테스트를 해본다. 위에서 발급받은 API 키와, 모델명, 프롬프트를 입력하면 된다.
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemma-3-27b-it",
contents="너 자신을 100자로 소개해봐.",
)
print(response.text)
4. PDF 질문법
from google import genai
from google.genai import types
client = genai.Client(api_key="YOUR_API_KEY")
pdf_path = "yout/pdf/path.pdf"
with open(pdf_path, "rb") as f:
doc_data = f.read()
prompt = f"""
이 PDF를 분석하고 꼭 알아야 할 것을 정리해줘.
"""
response = client.models.generate_content(
model="gemma-3-27b-it",
contents=[
types.Part.from_bytes(
data=doc_data,
mime_type='application/pdf',
),
prompt
]
)
return response.text
이렇게나 간단하다. doc_data를 이미지로 구성하면 이미지로도 질문이 가능하다. 이제 더 이상 GPU, 가격, 속도에 구애받지 말고 수천조의 시가 총액을 가진 대기업의 열매를 따먹도록 하자.
'연구하기, 지식' 카테고리의 다른 글
Supabase DB 사용해보기 (3) | 2025.07.06 |
---|---|
JIT 컴파일과 데코레이터 (2) | 2025.06.09 |
푸리에 변환(Fourier transform, FT) (2) | 2025.06.02 |
NeMo Speaker Recognition(SR) 성능 올리기 (6) | 2025.05.25 |
파이썬에서 오디오 파일 다루기(pydub, soundfile) (0) | 2025.05.25 |