2024. 4. 4. 20:43ㆍ공부/내배캠 TIL
목차
1. 문제
gpt 4 -> 덜창의적인 작업에서, 훨씬 느린 성능을 보여줌. 간단한 작업에 대해선 gpt3.5turbo를 쓰는게 훨씬 경제적으로 보임.
번역 : gpt3.5 = 1.48s/gpt4-turbo-preview = 3.73
imageToText / withCsv / translate 3스텝으로 하는건 별로인것 같음.
5.37(2스텝) vs 4.33+1.48(3스텝)
한번에 합쳐서 테스트 해볼 예정.
import * as csv from 'csv-parser' -> 전체를 가져온다.
import csv from 'csv-parser' -> default를 가져온다.
2. 시도
docker에 올려서 시도해본 결과.
<API 두개>
public async dietManagerWithCsvUsingLocalData(
prosConsDiscusserDto: ProsConsDiscusserDto,
) {
const csvDataArray = await this.readLocalCsv();
const csvDataString = JSON.stringify(csvDataArray);
return await dietManagerWithCsv(this.openai, {
prompt: prosConsDiscusserDto.prompt,
csvData: csvDataString,
});
}
public async imageToText(prosConsDiscusserDto: ProsConsDiscusserDto) {
return await imageToText(this.openai, {
prompt: prosConsDiscusserDto.prompt,
});
}
<하나의 API>
public async processImageAndManageDiet(
processImageAndManageDietDto: ProcessImageAndManageDietDto,
): Promise<string> {
const imageText = await imageToText(this.openai, {
prompt: processImageAndManageDietDto.imageUrl,
});
const csvDataArray = await this.readLocalCsv();
const csvDataString = JSON.stringify(csvDataArray);
const dietResponse = await dietManagerWithCsv(this.openai, {
prompt: imageText.content,
csvData: csvDataString,
});
return dietResponse.content;
}
prompt를 영어로 수정했다. 서비스시에는 google translate api를 사용할 예정.(한 계층이 또 추가된다니...)
3. 결과
<2개로 분할>
<1개로 합침>
시간적으로는 큰 차이가 없다.
대신, 직접 출력된 content의 evaluation을 json으로 다시 옮겨줄 필요가 없다는 장점이 있다.
4. 배운점
<튜터님 피드백>
한글 -> 글자당 토큰 수가 더 클거라 성능 차이가 꾸준히 생길것. (번역 횟수를 줄이는게 좋다?)
대부분 영어로 학습된거라 ...
번역 -> 구글 translate api 추천
기능 하나로 합쳤는데,
요청이 1000건 들어오면 마지막에 응답받는 사람은 몇초 뒤에 응답 받을까?
영향을 줄 수 있는것 :
지금도 가장 시간이 많이 걸리는게 gpt 자체가 추론하는 시간이잖아요
gpt는 어떻게 동시 처리를 할까?(api를 요청하면) -> 동시 처리 어느정도까지 보장할지 테스트해볼것.
10개만이라도 동시에 해보고, 1개 속도*10 대비 얼마나 차이나는지 계산 해보고, 개선해보기.
'공부 > 내배캠 TIL' 카테고리의 다른 글
[Node.js_4기] 최종 프로젝트 3주차_day_5 (24/04/12) (0) | 2024.04.12 |
---|---|
[Node.js_4기] 최종프로젝트 2주차_day5_부하테스트와 정신나갈것 같은 api 요청 한계 (24/04/07) (1) | 2024.04.07 |
[Node.js_4기] 최종프로젝트 2주차_day3_API 작업 (24/04/03) (0) | 2024.04.03 |
[Node.js_4기] 최종프로젝트 2주차_day2_GPT파인튜닝, jsonl (24/04/02) (0) | 2024.04.02 |
[Node.js_4기] 최종프로젝트 2주차_GPT파인튜닝 (24/04/01) (1) | 2024.04.01 |