본문 바로가기

전체 글71

pandas의 boolean indexing 개념과 팁 판다스(pandas) 라이브러리를 사용하여 데이터 분석을 할 때, 데이터프레임에서 원하는 정보만을 추출해야 하는 상황은 항상 발생합니다. 판다스 데이터프레임에서 데이터를 선택하는 방법은 다양한데, 그 중에서도 특정 조건을 만족하는 데이터만을 선택하는 boolean indexing 기법은 매우 유용하고 자주 사용됩니다. 판다스에서 데이터를 선택하고 필터링하는 자세한 방법에 대해서는 공식문서를 참고해주세요. 이 글에서는 boolean indexing 개념에 대해서 알아보고 이와 관련한 몇 가지 팁을 소개하겠습니다. 글에서 pd는 pandas 라이브러리를 불러올때 사용하는 별칭입니다. boolean indexing 개념 boolean indexing은 boolean vector를 사용하여 데이터를 필터링하는 .. 2023. 9. 20.
pandas 실행시간 최적화하기 pandas 라이브러리를 사용하여 데이터를 분석할 때, 특정 코드의 실행시간이 과도하게 오래 걸리는 경우가 종종 있습니다. 그 사례와 원인은 여러 가지가 있을 텐데, 이 글에서는 제가 겪은 두 가지 상황에 대해서 소개하겠습니다. 먼저 실행 시간이 예상치 않게 오래 걸리는 경우에 대해서 살펴보고, 그 원인과 최적화 코드를 제시하는 순서로 작성하였습니다. 이 글에서 pd는 pandas 라이브러리를 호출할 때 흔히 사용되는 별칭을 의미합니다. 데이터프레임에 새로운 행 추가하기 pd.concat 메서드 사용하기 첫 번째는 데이터프레임에 새로운 행(데이터)을 추가할 때 겪은 상황입니다. 데이터프레임에 10000개의 데이터를 추가하는 상황을 생각해보겠습니다. 이 때, 추가하는 데이터는 매번 새롭게 생성된다고 가정하.. 2023. 9. 20.
BLEU 지표의 등장과 한계 BLEU 점수는 무엇일까? BLEU Score는 기계번역 태스크에서 참조 문장과 기계가 생성한 번역문을 비교하여 번역의 품질을 평가하는데 주로 사용되는 지표로 흔히 알려져 있습니다. 좀 더 일반적으로는 생성된 텍스트를 평가하는데 널리 사용되는 지표 중 하나입니다. 번역, 요약, 질의응답 등 특정 태스크에 국한되지 않고 인공지능 모델이 생성한 텍스트를 평가하는 방식이라고 생각하면 될 것 같습니다. BLEU 의 등장 BLEU는 BiLingual Evaluation Understudy의 줄임말입니다. 각 단어를 직역하면 '이중 언어 평가 대역' 입니다. 2002년에 BLEU를 제안한 논문(BLEU: a Method for Automatic Evaluation of Machine Translation) 초록의 .. 2023. 9. 11.
임베딩 벡터 간 유사도에 대한 오해 개인 프로젝트를 진행하다가 LLM의 답변에 대한 정량적인 평가 지표 개발의 필요성을 느끼고 모델의 특징을 고려한 평가 지표를 만들어보려고 했습니다. 프로젝트 주제를 간단히 소개하면, 입력된 법률 분쟁 상황에 대한 조언을 하는 파인튜닝을 수행한 LLM입니다. LLM 파인튜닝에 사용하는 학습 데이터는 다음과 같이 법적 상황에 대한 QA 형식으로 이루어져 있습니다. 질문: 남편이 가출하여 연락이 되지 않다가 3년 6개월 뒤 ‘실종자 찾아주기’ 운동의 일환으로 DNA검사를 했더니 남편은 3년 전에 이미 교통사고로 사망하였고, 신원미상자로 처리되었다고 합니다. 가출 전 남편이 들어놓은 사망보험금을 청구했더니 보험회사는 사망 후 3년이 경과하였기 때문에 소멸시효 완성을 주장하고 있습니다. 보험금은 못 받는건가요? .. 2023. 7. 29.
기술 문서 번역의 어려움 오픈소스 컨트리뷰션 HuggingFace 한글화 프로젝트에서 본격적으로 번역활동을 시작했습니다. Transformers 라이브러리의 공식 문서를 한글로 번역하는 작업인데, 하위 문서를 골라서 번역을 수행합니다. 처음으로 고른 문서는 How to add a model to 🤗 Transformers? 입니다. Transformers 라이브러리에 새로운 모델을 추가하는 방법을 단계별로 매우 구체적으로 설명하고 있는 문서입니다. 이 문서를 번역하는 도중 여러가지 문제점에 직면했었는데 구체적으로 어떤 문제였는지 하나씩 정리해보았습니다. 용어 번역 문제 먼저 팀에서 어떤 과정으로 번역을 수행하는지 간단하게 요약하자면 다음과 같습니다. 1. 원본 문서를 ChatGPT, DeepL등을 사용하여 기계번역 수행 2. 초.. 2023. 7. 22.
2023 오픈소스 컨트리뷰션 아카데미 Review 부스트캠프 팀원의 소개로 오픈소스 컨트리뷰션 아카데미를 알게 되어, 지원하였습니다. 오픈소스 컨트리뷰션 아카데미는 오픈소스에 대한 진입장벽을 허물고, 선의의 경쟁의 형식으로 오픈소스 문화에 기여하는 '컨트리뷰톤'에 참여하여 오픈소스 문화를 경험하는 멘토링 프로그램입니다. 개발자로서 오픈소스에 기여하고, 내 PR이 직접 merge되는 것의 가치를 알고 있기에 매우 좋은 기회라고 생각되어 망설임없이 지원하였습니다. 지식은 공유되어야 한다는 생각을 평소부터 갖고 있었기 때문에 단순히 오픈소스에 기여해봤다는 경험을 가지려기보다는, 그 행위 자치에 큰 의미를 두고 참여하고 싶다는 생각이 들었습니다. 올해는 약 20여개의 프로젝트가 진행되는데, 인공지능 분야를 공부하고 있어 관련 분야의 프로젝트를 지원하였습니다. .. 2023. 7. 14.