전체 글 123

모델 평가 방법(Text Output)

Text Output BLEU Rouge LMM as a Judge ChatArena BLEU 기계번역 품질 평가를 위해 많이 평가되는 메트릭 번역 텍스트와 인간 번역 사이 유사성을 기반으로측정 n-gram 오버랩을 계산해서 점수 산출 정답과 유사한 단어가 나와야 점수가 높게 나오기 때문에, 맥락에 따라 다른 단어가 사용이 되면 점수가 높게, 같은 맥락의 새로운 단어를 사용하면 점수가 낮게 나오는 문제점 Rouge 자동요약 품질 평가를 위해 많이 사용되는 메트릭 생성 요약과 인간 요약 사이 유사성을 기반으로 측정 BLEU와 비슷한 문제점 BLEU-Rouge 한계 문맥적 상황과 언어적 뉘앙스를 충분히 반영 못한 언어별 문화적 배경에 대한 깊은 이해 없이 평가 어려움 동일한 의미를 다르게 표현한 것에 대한 ..

모델 평가 방법(Numeric Output)

Metric 메트릭이란 데이터셋에 대해 모델의 성능을 평가하는 지표 Numeric Output Cost, Error Accuracy Precision Recall Cost, Error Metric 손실함수(Loss function) 실제 y 값에 비해 가정한 모델 hθ​ 의 y^​(=hθ​(x))(추정값)이 얼마나 잘 예측했는지 판단하는 함수. 비용함수(Cost Function) 머신러닝 알고리즘에서 최적화는 비용함수의 값이 가장 작아지는 최적의 파라미터를 찾는 과정. 이를 달성하기 위해서, 경사하강법(Gradient Descent) 기반의 방식이 가장 기본이 되는 알고리즘이다. 출처 비용함수(Cost Function), 손실함수(Loss function), 목적함수(Objective Function) ..

shell 커맨드 파이썬에서 실행하기 - subprocess

subprocess 함수는 파이썬 스크립트에서 쉘 명령이나 다른 프로세스를 실행 하고 결과를 가져 올 수 있다. os.system, os.spawn 등의 대체 라이브러리이다. import subprocess subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, **other_popen_kwargs) args = 쉘 명령어를 공백 문자의 리스트로 표현 ex) ["cd", ..

OpenAI Functions Agent (Feat. Zero-shot ReAct Agent)

Zero-Shot 이란? 모델이 학습 과정에서 배우지 않은 작업을 수행하는 것 즉 이전에 학습되어 있던 모델에서 추론하여 이를 수행함(ex. 고양이 vs 강아지 분류모델을 사용하여 사자를 분류하는 모델) 일반적으로 큰 양의 라벨링된 학습 데이터가 없는 상황에서 사용 가장 좋은 성능을 위해서가 아니라 효율적인 성능을 보여주기 위해서 사용하게 됨 Zero-Shot Agent 위의 특징을 고려 했을 때, 가장 범용적인 목적의 Agent로 사용된다 Langchain 에서 대부분의 모델이 사용 여러개의 input을 가질 수 없다 Structured input ReAct 여러개의 input을 가질 수 있다 OpenAI Functions Agent OpenAI에서 제공하는 Agent Chat GPT 모델에서만 사용 ..

Map Reduce & Refine & Map-Rerank Chain

Index-realated chians 인덱스(벡터저장소)에 저장된 데이터들을 LLM과 어떻게 결합하여 사용할 것인가에 대해 4가지 방법론이 있다. Stuffing - 모든 관련 데이터를 프롬프트에 context로 채워 넣어 모델에 전달 장점: LLM을 한번만 호출 단점: 대부분의 LLM은 입력 가능한 최대 context가 정해져 있음. 따라서 큰 문서에 대해선 작동 하지 않을 가능성 Map Reduce - 각 데이터 chunk에 대해 초기 프롬프트를 실행. 모든 초기출력들을 조합 하여 최종적인 프롬프트를 실행 장점: 개별Chunk에 대한 LLM호출을 병렬로 실행 가능. Stuffing에 비해 더 큰 문서 사용 가능. 단점: 많은 LLM 호출이 필요. 마지막 조합 호출 시에는 일부 정보가 손상 Refin..

Tree of Thought

Self Consistency with COT에서 사용한 Majority vote 를 이용 중간 단계마다 vote 를 하여 진행 ToT step: Three of thought를 하는 스텝의 수 ToT Pipeline Steps 1. Answer을 주는 Chain을 통해 여러개의 후보 Answer을 샘플링 한다.. 2. Voting Chain을 만들어 샘플링된 후보군들 중 가장 좋은 답변을 선택하도록 한다. 이 체인에 쓰는 모델은 똑똑해야 한다. 3. Voter AI를 N개 만들어 N개의 후보군에게 투표를 하게 하거나, 하나의 Voter AI가 N개의 후보군 중 최선을 투표하는 방식 등이 있다.

Chain Of Thought (COT)

간단히 이야기 해서, 문제를 풀 때 단순 해답을 예시로 주는 것이 아니라 문제 풀이 과정을 함께 제시하여 프롬프팅 하는것 이다. 한국어로 '생각의 사슬 프롬프트' 즉 답을 도출하기 위한 중간 추론단계를 설명 하도록 하여 복잡한 추론을 가능하게 한다. 제로샷 COT 프롬프팅 질문에 대한 중간추론단계 의 예시를 직접 제공해 주지 않더라도, 간단하게 'Let's think step by step'(단계별로 생각해보자) 같은 프롬프트를 추가해 주는 것 만으로도 모델의 출력 결과를 개선하는 기법