인공지능 프로그래밍- 2/3
1
파이썬?
단순하면서 범용성이 높아 사용한다.
2
파이토치(Pytorch)?
페이스북에서 개발한 딥러닝 프레임워크
동적 계산 그래프, 아이썬 네이티브 지원, CUDA 지원.
3
텐서플로우(Tensor Flow)?
구글이 개발한 딥러닝 프레임워크
고수준 API인 캐라스를 이용함으로써 모델 생성이 쉽다.
2.0부터는 동적 계산 그래프도 지원.
https://www.tensorflow.org/?hl=ko
4
파이썬 스크립트 실행
5
파이썬 패키지 설치
! pip intstall openai
6
파이썬 문법
1
공식적으로 OpenAI API의 라이브러리가 지원되는 프로그래밍 언어는 2가지이다.
파이썬
Node.js
커뮤니티에서 라이브러리를 지원하는 프로그래밍 언어도 존재한다.
https://platform.openai.com/docs/libraries
2
API 키 준비
https://platform.openai.com/api-keys
3
코랩 실행
https://colab.research.google.com/?hl=ko
4
OPENAI 패키지 설치
5
환경 변수 준비
API키에 대해 환경 변수로 등록
6
소스
압축 파일 다운로드
https://wikibook.co.kr/openai-llm/
문장 생성
질의응답
번역
프로그램 생성
채팅
삽입
편집
1
텍스트에서 이미지 생성
2
이미지 및 텍스트에서 이미지 편집
3
이미지 변형 생성
1
클러스터링, 추천등 데이터 분석에 활용할 수 있는 임베딩에 대해 알아보자.
임베딩(Embedding)은 자연어 처리 및 머신러닝 분야에서 널리 사용되는 개념으로, 텍스트를 컴퓨터가 처리하기 쉬운 형태로 표현하기 위한 기법입니다.
텍스트를 벡터 표현(부동 소수점 배열)으로 변환합니다.
https://platform.openai.com/docs/guides/embeddings
2
OpenAI API의 임베딩은 토큰 수에 따라 과금.
Ada를 권장하여 사용하고 있다.
3
임베딩 생성 절차를 알아보자.
임베딩을 생성할 텍스트 준비
텍스트에서 임베딩 생성 실행
4
임베딩의 주요 사용 사례인 유사도 검색을 수행한다.
유사도 검색은 대상 텍스트에서 입력 텍스트와 의미가 비슷한 것을 찾는 작업이다.
5
예) faiss 오픈소스 벡터 데이터 베이스
https://github.com/facebookresearch/faiss
6
Faiss패키지 설치
1
생성형 AI에서 자신만의 데이터를 학습시킬 때 파인튜닝을 사용한다.
2
튜닝이다~
사전 학습된 모델을 기반으로 추가 학습을 하는 것이다.
처음부터 작업할 때 보다 적은 학습 데이터와 학습시간이 든다.
3
장점?
프롬프트 예시를 제공할 필요가 없어 토큰수가 절약되고, 지연시간이 적다.
4
파인튜닝 비용?
사용하는 모델과 학습 데이터의 토큰수, 사용 시 사용하는 모델과 LLM입출력 토큰수에 따라 비용이 달라진다.
4
순서?
학습 데이터 준비
데이터 세트 검증
파인 튜닝 실행 명령어.
추론 실행
파인튜닝된 모델 목록 확인
1
모더레이션(moderation)은 사용자 입력이나 LLM의 출력에 폭력, 자해, 혐오, 성적인 표현등 문제 발언이 포함되어 있는지 판단하는 API이다.
https://platform.openai.com/docs/guides/moderation
2
모더레이션 사용
1
위스퍼(Whiper)라는 오픈 소스 음성인식 AI 모델을 사용하여 음성을 Text로 변환 가능하다.
음성 텍스트 변환
음성을 영어로 번역하여 텍스트로 변환
최대 25MB
2
https://openai.com/index/whisper/
3
비용?
음성 시간에 따라 달라진다.
4
사용?
오디오 파일 업로드
음성을 텍스트로 변환
음성을 영어로 번역해서 텍스트로 변환하기
1
LLM에서 텍스트를 토큰이라는 최소 단위로 분할해서 처리합니다.
이때 토큰을 분할하는 프로그램을 토크나이저(tokenizer)라고 한다.
2
OPenAI는 tiktoken이라는 토크나이저를 사용한다.
3
토크나이저 사용 절차?
tiktoken 패키지 설치
인코딩 획득
인코딩 실행
디코딩 실행
분할된 상태로 디코딩 실행
다음
https://brunch.co.kr/@topasvga/3934