전체 글 38

[환경구축][PEFT] RuntimeError: Failed to import transformers.trainer because of the following error (부제: 윈도우에서 PEFT를 시도하려고 할 때 생기는 일)

Summary 이 글은 아래 환경에 있는 사람들이라면 참고하시기 좋은 글입니다. 1. Window OS 환경에서 PEFT를 시도하는 중인 분 2. 그 과정에서 엄청난 길이의 Warning과 Error를 맞이한 분 3. bitsandbytes 라이브러리 설치를 위해 pip install bitsandbytes로 시도한 분 시간이 없어 얼른 해결하고 싶은 분들은 아래 명령어를 실행하시길. (만약 bitsandbytes를 사전에 설치하셨던 분이라면 pip uninstall bitsandbytes를 실행한 후 아래 코드를 실행하세요!) python -m pip install bitsandbytes --prefer-binary --extra-index-url=https://jllllll.github.io/bits..

[Basic][grammar] 이중 리스트의 행과 열 바꾸기 (부제: zip 함수 활용하기)

이중 리스트가 있을 때, 각 동일한 열 값끼리 더하고 싶을 때에는 어떻게 하면 좋을까? Question: 학생의 성적이 리스트 형태로 저장되어 있다. 자세한 형태는 아래와 같다. # 국어, 수학, 영어, 과학, 사회 scores = [[30, 90, 55, 100, 60], [100, 85, 100, 90, 95], [60, 75, 50, 100, 100], [80, 80, 80, 80, 80]] 과목별로 평균, 최대값, 최소값을 구하려면 어떻게 해야 할까? Answer: 이중 반복문을 이용하는 방법도 있겠지만, zip() 함수를 이용하여 이중 리스트의 행과 열을 역전하여 풀어보겠다. zip 함수는 여러 개의 iterable 객체를 엮어주는 역할을 수행하는 함수로, 튜플이나 리스트 등 iterable 객..

Developer/Python 2023.09.22

[Algorithm][DP] 동적 계획법(Dynamic Programming) 알아보기 (참고 문제: 프로그래머스 - 정수 삼각형)

Summary - 동적 계획법의 기본적인 개념과 구현 과정에 대해서 소개하였다. 그리고 코드를 통해 실제 문제에 적용해보았다. (프로그래머스 정수 삼각형 문제) - 동적 계획법과 분할 정복 알고리즘의 차이를 간단하게 언급하였다. Description 1. 동적 계획법(DP, Dynamic Programming)이란? 동적 계획법은 문제를 효율적으로 해결하기 위하여 문제 해결 과정에서 생성된 결과를 미리 저장해두고, 그 값을 주어진 문제에 활용하는 방법이다. 달리 표현하면 본 문제를 해결하기 위하여 활용하기 좋은 하위 문제들로 분리하고, 하위 문제의 결과값들을 재활용하여 본 문제를 해결하는 방법이다. 글로만 설명하였을 때 쉽게 이해하기 어려울 수 있기 때문에 '피보나치 수열'을 예시로 들어보겠다. 피보나치..

Developer/Python 2023.08.13

AI 트렌드 및 NLP 학습 관련 컬럼 정리하기

오늘 읽을 주제들은 AI 분야, 특히 자연어 분야의 트렌드를 좀 쫓아보고자 몇 개 글을 읽고 가져와보았다.어떤 한 분야의 구체적인 내용 보다는 전반적인 트렌드를 이해하고자 노력하였고, 그 중 필요한 개념이 있다면 별도 포스팅으로 남겨보고자 한다. 그럼 진짜로 시작! Today's Column오늘은 다양한 매체에서 글을 가지고 와 보았다. 각각 LG AI연구원 Research BLOG, Google Research BLOG, 레터 웍스에서 작성된 글이다.1. [NeurIPS 2022] 학회 참석 후기 및 최신 연구 트렌드 (LG AI연구원 김근형님, 최성익님, 황다솔님/ 2023.02.07.)2. Unlocking Zero-Resource Machine Translation to Support New La..

[심리][습관개선] 마인들링 앱 사용 후기: 내 마음 속 악당 '물렁이' 바로잡기

본 내용은 마인들링의 프로그램 내용을 일부 포함하고 있으며, 별도의 광고비를 받지 않았습니다! (내돈내산!) Introduction.오늘 SNS를 하던 중에 '마인들링'이라는 어플을 발견하게 되어 설치해 보았다.나는 나의 심리에 대한 궁금증이나 걱정이 많은 편인데, 소개글을 읽어보았을 때 내게 도움이 될 것 같아 구독을 해 보았다.콘텐츠가 풍부해서 유익할 것 같고, 체계적으로 정리되어 있는데 해야 할 일이 무겁지 않아서 꾸준히 할 수도 있을 것 같다는 생각이 들었다. Contents.1. 나에게 어떤 문제가 있는지 진단하기오늘은 1일 차라 내가 어떤 마음의 문제를 가지고 있는지 또 어느 정도인지 진단해 보았다.진단해 보았을 때 나는 모든 문제에서 주의 혹은 심각 신호가 떴는데, 아마 최근에 자신감이 떨어..

Researcher/Human 2023.06.09

[NLP][LLM] 언어 모델(Language Model) 시리즈1: 언어 모델이란?

Summary언어 모델(Language Model)은 언어 모델링을 하는 모델로, 통계 기법을 이용한 방법과 인공 신경망을 이용한 방법이 있다.거대 언어 모델(Large Language Model)은 데이터셋의 크기와 모델의 규모가 거대해져 정확도가 크게 향상된 언어 모델을 의미한다.거대 언어 모델은 대체적으로 Encoder-Decoder 구조를 사용하고 있으며, 각각 NLU와 NLG로 구분된다.ContentsWhat is the Language Model?당연하게도 언어 모델링(Language Modeling)을 하는 모델이다.언어 모델링이란 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업을 의미한다.언어 모델을 만들기 위해서는 통계 기법을 이용한 방법과 인공 신경망을 이용한 방법이 있고,대표적인..

[Package][pandas] 데이터(csv, excel) 불러오기 & 저장하기

Summary - csv 파일이나 excel 파일을 dataframe 형태로 불러오거나, 혹은 dataframe을 csv나 excel 파일 형태로 저장할 때 아래와 같은 코드를 사용할 수 있다. - 엑셀 파일이 너무 커서 열리지 않을 때나 열어서 바로 분석하고 싶을 때 등등 아래 기능들을 활용할 수 있다. - 함수별로 파라미터를 추가적으로 하나씩 더 붙여서 소개하였으나, 다양한 파라미터가 있으니 첨부된 링크를 확인해보자. - 참고로 불러올 때는 함수 형태로 사용하지만 저장할 때는 메소드 형태로 사용한다. 즉, 불러올 때는 pandas.read_excel()과 같은 형태로 라이브러리에서 함수를 호출하는 형태이지만, 저장할 때는 생성된 데이터프레임을 저장하는 것이므로 (저장할 데이터프레임 변수 명).to_e..

Developer/Python 2023.05.09

[환경구축][Conda] 가상환경 생성/제거/(비)활성화/리스트 보기

Summary - 가상환경 관리 프로그램인 conda를 사용하면서 가장 많이 사용하는 명령어이자 기본인 명령어들을 정리해본다. - 포함된 내용은 '가상환경 생성', '가상환경 제거', '가상환경 (비)활성화', '생성한 가상환경 리스트 보기'로 4가지 섹션으로 구성되었다. - 참고로 이 글은 가장 많이 사용하는 코드를 아카이빙 하기 위한 목적으로 작성한 글이므로, conda가 무엇인지, 왜 사용해야 하는지에 대해서는 필요 이상으로 구체적인 정리는 수행하지 않았다. Contents 0. 개요 파이썬 코드를 짜다보면 상황에 따라 동일한 패키지의 필요한 버전이 다른 경우가 있다. 파이썬 언어 자체도 어떤 상황에서는 3.7이 필요하기도 하고, 어떤 상황에서는 3.8 이상이 필요하기도 하다. 이런 각각의 경우마다..

[Package][오류] scikit-learn의 compute_class_weight() 사용 시 발생하는 TypeError 해결 (부제: 인자 3개인데 왜 자꾸 1개만 넣으라 그래요?)

Summary - 문제 상황: scikit-learn의 compute_class_weight() 사용 시 인자 개수가 다르다는 오류 발생 - 해결 방안: 명시적으로 파라미터명을 매칭해주기 - 주의: 쉽게 패키지 버전의 문제라고 판단하지 말 것 (패키지 버전 꼬이면 최악의 경우 환경 구축을 다시 해야 할 수도 있음!) Contents Background scikit-learn 라이브러리의 compute_class_weight 메소드를 사용하는 중 들어가야 할 인자는 3개인데, 3개를 넣었더니 1개만 넣어야 한다는 오류가 발생했다. 오류 메시지: TypeError: compute_class_weight() takes 1 positional argument but 3 were given scikit-learn..

Developer/AI 2023.04.28