주말동안 한 거 정리주말 동안 데이터 증강(SR, RI, Adverb Addition, back translation 등)을 해놓고 잘 합쳐서 불용어 처리까지 해봤는데도 여전히 성능이 좋게 나오지 않았다.SR 데이터 성능RI 데이터 성능Adverb Addition 데이터 성능이렇게 진행을 하다가 solar mini로 데이터 증강을 시도한 결과는 유의미했다! 실제로 눈으로 solar mini로 증강된 데이터를 보면 그렇게 데이터 증강이 잘 된 것 같진 않은데 성능은 좋게 나와서 신기했다. 아마 LLM을 이용해서 나온 데이터다 보니 LLM 특유의 번역체 말투가 기존 원본 데이터셋과 문장 구조가 유사하거나 비슷한 형태의 데이터로 증강되었기 때문에 '정답 요약'을 더 쉽게 생성해 낼 수 있던 거 아닐까 생각해 ..
전체 글
하다보니 재미있는 AI에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.com경진대회 개요Dialogue Summarization 경진대회는 주어진 한글 데이터를 활용하여 일상 대화에 대한 요약을 효과적으로 생성하는 모델을 개발하는 대회다.이 대회에서는 ROUGE-1-F1, ROUGE-2-F1, ROUGE-L-F1, 총 3가지 종류의 metric으로부터 산출된 평균 점수를 더하여 최종 점수를 계산한다.현재 데이터 건수는 다음과 같다.train : 12457dev : 499test : 250hidden-test : 249데이터 구성은 다음과 같다.최소 2 턴, 최대 60 턴으로 대화가 구성되어 있고, 대화(dialogue)를 보고 이에 대한 요약(summary)을 예측하는 것이 최종 목표다.베이스라인 코드의 변수들은 다음과 같다.model_name: "digit82/kobart-s..
문제 발생한글 대화문을 보고 요약하는 모델을 pre training시키고 있는데 계속 데이터셋에 토큰들이 안지워져서 성능이 잘 안나오는 이슈가 있었다.모델의 예측값(PRED)과 실제 정답값(GOLD)을 비교하는 과정에서 나 같은 특수 토큰들이 제거되지 않아 성능이 저하되는 문제가 발생했다. 대화문 데이터에는 #Person1#, #Person2#와 같은 스페셜 토큰이 포함되어 있었는데 이 토큰들은 디코딩 과정에서도 유지되어야 했다. 이를 확인하기 위해 다음과 같이 skip_special_tokens=False 설정으로 디코딩 결과를 확인했다:decoded_preds = tokenizer.batch_decode(predictions, skip_special_tokens=False)print('>>>')pr..
지난번에 airflow를 실습해 본 것처럼 젠킨스 CI/CD도 도커 기반으로 실습해 보자.젠킨스 환경 구축docker-compose.yml 파일을 다음과 같이 만들어보자.version: '3.8'services: jenkins: image: jenkins/jenkins:latest ports: - "8080:8080" - "50000:50000" volumes: - jenkins_home:/var/jenkinshome environment: - JENKINS_OPTS=--httpPort=8080 restart: unless-stoppedvolumes: jenkins_home:이렇게 만들어주고 컨테이너를 백그라운드로 띄워보자docker-co..
MLOps에서 중요한 workflow management 중에서 Airflow를 실습해 보자.Airflow 실습 환경 구축실습을 할 수 있는 환경을 구축할 수 있는 두 가지 방법이 있다.pip install을 통해 local에 설정하기Docker container를 사용해서 docker image로 실행하기 (독립적인 공간에서 수행)여기서 당연히 더 확장성이 좋은 docker container기반 환경에서 실습해보려고 한다. Dockerfile로 Airflow 실행우선 도커 이미지를 생성하고, 해당 컨테이너를 실행시켜 보자.도커 파일은 다음과 같다.FROM python:3.8-slim# 환경 변수 설정ENV AIRFLOW_HOME=/usr/local/airflow# 필요한 시스템 라이브러리 설치RUN a..
1. 환경 구축쿠버네티스를 실습할 때 직접 install 하지 않고 온라인 테스트 환경에서 진행해보려고 한다.https://labs.play-with-k8s.com/ Play with KubernetesPlay with Kubernetes is a labs site provided by Docker and created by Tutorius. Play with Kubernetes is a playground which allows users to run K8s clusters in a matter of seconds. It gives the experience of having a free Alpine Linux Virtual Machine in brolabs.play-with-k8s.com (나는 도..
문서 요약 모델의 성능을 평가할 때, ROUGE (Recall-Oriented Understudy for Gisting Evaluation)는 가장 널리 사용되는 평가지표 중 하나이다. 이 글에서는 ROUGE 1, ROUGE 2, ROUGE-L, ROUGE-W, ROUGE-S의 정의와 계산 방법을 이해하기 쉽게 설명하고, 각 지표의 특징과 활용 방안에 대해 알아보자. 1. ROUGE란 무엇인가?ROUGE는 사람이 작성한 참조 요약(reference summary)과 모델이 생성한 요약(candidate summary) 간의 유사도를 측정하기 위한 평가 지표이다. 주로 n-gram 기반의 겹치는 정도를 비교하며 대표적으로 Precision(정밀도), Recall(재현율), 그리고 F1-score를 산출한다..
프롬프트 전략프롬프트 전략은 LLM에게 보다 정확하고 효과적인 답변을 유도하기 위한 입력 방식이다. 다양한 전략을 활용해 모델이 단계적 사고 과정을 따르거나, 감정에 반응하는 방식으로 개선된 성능을 유도할 수 있다.Chain-of-Thought (CoT)Chain-of-Thought는 모델이 문제 해결을 위해 단계별로 논리적인 사고 과정을 따르도록 유도하는 프롬프트 방식이다. 이 방식은 주로 복잡한 문제를 해결할 때 유용하고 각 단계를 명시적으로 제시해 모델이 점진적으로 답을 구성하도록 한다. Chain-of-Thought (CoT) 프롬프트 전략을 사용할 때 모델의 응답 성능이 향상되는 이유는 바로 문제 해결 과정을 단계별로 설명하도록 유도하기 때문이다. 왼쪽 표의 일반 프롬프트에서는 모델이 단순히 답..