brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 23. 2024

26. 파이썬 사용, 파이토치, 텐서플로, 구글코랩

인공지능 프로그래밍 2

<1> 파이썬 사용, 파이토치 사용, 텐서플로우, 구글 코랩 사용

<2> OpenAI API

<3> 텍스트 생성 가능하다. 

<4> 이미지 생성 가능하다. 

<5> 임베딩

<6> 파인 튜닝

<7> 모더레이션

<8> 음성 텍스트 변환

<9> 토크나이저




<1> 파이썬 사용, 파이토치 사용, 텐서플로우, 구글 코랩 사용


1

파이썬?

단순하면서 범용성이 높아 사용한다.



2

파이토치(Pytorch)?

페이스북에서 개발한 딥러닝 프레임워크

동적 계산 그래프, 아이썬 네이티브 지원, CUDA 지원.


https://pytorch.org/


https://pytorch.kr/




3

텐서플로우(Tensor Flow)?

구글이 개발한 딥러닝 프레임워크

고수준 API인 캐라스를 이용함으로써 모델 생성이 쉽다.

2.0부터는 동적 계산 그래프도 지원.

https://www.tensorflow.org/?hl=ko






4

파이썬 스크립트 실행




5

파이썬 패키지 설치


! pip intstall openai



6

파이썬 문법




<2> OpenAI API


1

공식적으로 OpenAI API의 라이브러리가 지원되는 프로그래밍 언어는 2가지이다.


파이썬

Node.js


커뮤니티에서 라이브러리를 지원하는 프로그래밍 언어도 존재한다.

https://platform.openai.com/docs/libraries




2

API 키 준비

https://platform.openai.com/api-keys



3

코랩 실행



4

OPENAI 패키지 설치



5

환경 변수 준비

API키에 대해 환경 변수로 등록




6

소스

압축 파일 다운로드


https://wikibook.co.kr/openai-llm/





<3> 텍스트 생성 가능하다.


문장 생성

질의응답

번역

프로그램 생성

채팅

삽입

편집





<4> 이미지 생성 가능하다. 


1

텍스트에서 이미지 생성



2

이미지 및 텍스트에서 이미지 편집



3

이미지 변형 생성




<5> 임베딩



1

클러스터링, 추천등 데이터 분석에 활용할 수 있는 임베딩에 대해 알아보자.


임베딩(Embedding)은 자연어 처리 및 머신러닝 분야에서 널리 사용되는 개념으로, 텍스트를 컴퓨터가 처리하기 쉬운 형태로 표현하기 위한 기법입니다.

텍스트를 벡터 표현(부동 소수점 배열)으로 변환합니다.


https://platform.openai.com/docs/guides/embeddings



OpenAI API의 임베딩은 토큰 수에 따라 과금.

Ada를 권장하여 사용하고 있다.



2

임베딩 생성 절차를 알아보자.


임베딩을 생성할 텍스트 준비


텍스트에서 임베딩 생성 실행.



3

임베딩의 주요 사용 사례인 유사도 검색을 수행한다.

유사도 검색은 대상 텍스트에서 입력 텍스트와 의미가 비슷한 것을 찾는 작업이다.



4

예)  faiss 오픈소스 벡터 데이터 베이스

https://github.com/facebookresearch/faiss


5

Faiss패키지 설치




<6> 파인 튜닝


1

생성형 AI에서 자신만의 데이터를 학습시킬 때 파인튜닝을 사용한다.


2

튜닝이다~  

사전 학습된 모델을 기반으로 추가 학습을 하는 것이다.

처음부터 작업할 때 보다 적은 학습 데이터와 학습시간이 든다.


장점?

프롬프트 예시를 제공할 필요가 없어 토큰수가 절약되고, 지연시간이 적다.


Fine-tuning - OpenAI API



3

파인튜닝 비용?

사용하는 모델과 학습 데이터의 토큰수, 사용 시 사용하는 모델과 LLM입출력 토큰수에 따라 비용이 달라진다.




4

순서?


학습 데이터 준비

데이터 세트 검증

파인 튜닝 실행 명령어.

추론 실행

파인튜닝된 모델 목록 확인




<7> 모더레이션


1

모 더레이션(moderation)은 사용자 입력이나 LLM의 출력에 폭력, 자해, 혐오, 성적인 표현등 문제 발언이 포함되어 있는지 판단하는 API이다.


https://platform.openai.com/docs/guides/moderation



2

모더레이션 사용





<8> 음성 텍스트 변환



1

위스퍼(Whiper)라는 오픈 소스 음성인식 AI 모델을 사용하여 음성을 Text로 변환 가능하다.


음성 텍스트 변환

음성을 영어로 번역하여 텍스트로 변환

최대 25MB



2

https://openai.com/index/whisper/



3

비용?

음성 시간에 따라 달라진다.



4

사용?


오디오 파일 업로드

음성을 텍스트로 변환

음성을 영어로 번역해서 텍스트로 변환하기





<9> 토크나이저



1

LLM에서 텍스트를  토큰이라는 최소 단위로 분할해서 처리합니다.

이때 토큰을 분할하는 프로그램을  토크나이저(tokenizer)라고 한다.


2

OPenAI는 tiktoken이라는 토크나이저를 사용한다.



3

토크나이저 사용 절차?

tiktoken 패키지 설치

인코딩 획득

인코딩 실행

디코딩 실행

분할된 상태로 디코딩 실행




감사합니다.

매거진의 이전글 25. 챗GPT , OpenAI API, 라마인덱스
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari