분류 전체보기 (41) 썸네일형 리스트형 [LLM] GCP 이용해 LLM 환경 구축하기 ChatGPT의 등장으로 대규모 언어 모델, LLM(Large Language Model)이 주목받으면서 LLM 관련 공모전과 사이드 프로젝트가 점차 많아지고 있다. LLM에 대한 관심은 DACON 기준 참여인원수를 통해서도 확인할 수 있다. 정형데이터를 이용한 회귀와 분류모델 관련 공모전에도 보통 1,000~1,500여 명 정도 참가하는데, 2024년 진행했던 '도배 하자 질의 응답 처리 : 한솔데코 시즌2 AI 경진대회'에는 1,454명이 참여하였고, '재정정보 AI 검색 알고리즘 경진대회'도 1,060명이 참여하였다. 이러한 수치는 새로운 기술에 대한 관심이 그만큼 뜨겁다는 것을 보여준다. 올해 LLM에 관심이 생겨 위에 언급된 두 공모전에 참가하게 되었는데, 그때마다 LLM을 Fine-tunin.. 삶의 지도, 인생 가치를 찾아 나서는 여정이 담긴 지도 왜 삶의 지도일까? 글또를 처음 접하게 된 건 데이터 분석가라면 한 번씩 들렸을 메타몽이 그려진 변성윤 님의 블로그였습니다. 프로젝트를 하면서 보는 블로그 글은 정보전달이 목적이기 때문에 내가 만족하는 정보만 충족되면 더 이상 볼 이유가 없어집니다. 하지만 종종 ‘와 어떻게 이렇게 정리를 하지? 이 깊이는 도대체 어떻게 얻는 거지?’ 생각이 드는 글이 주는 정보보다 사람이 궁금해지는 글들이 있습니다. ‘나도 이렇게 정리하고 싶다~’라고 생각이 들게 만드는 글들을 보며 혹여 이 사람의 발자취를 따라가면 나도 이렇게 될 수 있을까 싶어 다른 글들을 뒤적이다 글또를 발견하게 되었습니다. 글또 커뮤니티를 만들고 진행한다는 것을 처음 봤을 때도 ‘와~ 역시 대단한 사람이었네~’ 싶었고, 글을 쓰는 게 도움이 .. [데이터시각화] 지수표현(+e)된 축 눈금 일반 숫자 형식으로 바꾸기 데이터를 시각화하다가 y축 눈금이 지수표현(과학적 표기법)으로 되어 있으면 보기가 불편하다. 해당 표기법을 일반 숫자 형식으로 변형하여 시각화하는 방법은 matplotlib.pyplot 모듈의 ticklabel_format 함수를 이용하면 된다. (상세 페이지 : matplotlib.pyplot.ticklabel_format()) matplotlib.pyplot.ticklabel_format(*, axis='both', style='', scilimits=None, useOffset=None, useLocale=None, useMathText=None) - axis : 포멧할 축 설정, {'x', 'y', 'both'} - style : 일반 숫자 형식 / 과학적 표기법, {'sci', 'scientif.. [데이터시각화] 시계열 그래프 위에 결측정보 text로 겹치지 않게 표시하기 시계열 데이터를 다루다가 데이터가 지속적으로 수집되지 않고 중간 중간 결측이 발생하고 있음이 발견되었다. 결측이 발생하게 되면 모델 학습과 운영에 있어서 크리티컬한 문제기 때문에 결측을 채우는 것이 맞는지, 결측을 어떻게 채워야 하는지, 모든 값에 대해서 채우는 것이 맞는지 고민이 필요하다. 결측에 대해서 단순히 전체 데이터의 결측 개수나 비율을 계산하여 판단할 수도 있겠지만, 시계열 데이터에서는 데이터의 연속성이 중요하기 때문에 데이터의 결측이 연속적으로 얼마나 지속되었는지 살펴 볼 필요가 있다. 그래서 결측에 대해 직관적으로 살펴보기 위해 시계열 그래프를 그려 살펴보고자 했고, 결측이 얼마나 지속되었는지에 따라 결측 보간방법을 다르게 하기 위해 특정 시간 이상 결측이 지속되는 경우는 따로 표시했다. .. [LLM] Fine-tuning시 early stopping 적용하기 1. Early Stopping 사용 배경 LLM 모델을 fine-tuning 하는 과정에서 loss가 줄어들다가 다시 증가해서 2 epoch가 모두 돌아갔을 때 오히려 성능이 떨어지고 있었다. 이럴 때, 기존 딥러닝 모델 학습 시 early stopping을 콜백 함수를 넣어 지정한 early_stopping_patience 가 지나면 학습을 멈추게 했었는데 사전학습된 모델을 불러와 fine-tuning할 때도 해당 기능을 쓸 수 있는지 궁금했다. LLM 모델을 fine-tuning할 때 쉽게 사용하는 클래스가 허깅페이스의 SFTTrainer와 Trainer 클래스인데 Trainer 클래스에서는 EarlyStoppingCallback 함수를 지원하지만 SFTTrainer에서는 지원하지 않는다. 2. T.. [SQL] 프로그래머스 고득점 KIT GROUP BY 문제 정답 즐겨찾기가 가장 많은 식당 정보 출력하기 SELECT B.FOOD_TYPE, B.REST_ID, B.REST_NAME, B.FAVORITES FROM ( SELECT FOOD_TYPE, MAX(FAVORITES) AS MAX_FAVORITE FROM REST_INFO GROUP BY FOOD_TYPE ) A INNER JOIN REST_INFO B ON A.FOOD_TYPE = B.FOOD_TYPE AND A.MAX_FAVORITE = B.FAVORITES ORDER BY FOOD_TYPE DESC; 조건에 맞는 사용자와 총 거래금액 조회하기 SELECT B.USER_ID, B.NICKNAME, A.PRICE_SUM FROM ( SELECT WRITER_ID, SUM(PRICE) AS PRICE_SUM .. [Python] 조건에 해당하는 array 값 변경 dataframe 보다 numpy 배열이 훨씬 빠르기도 하고, 딥러닝 모델의 input을 위해 array로 변환하여 처리해야 하는 일이 많다. 데이터프레임에서 조건에 맞는 행을 필터링해서 값을 변경하는 것처럼 numpy 배열에서도 조건에 맞는 원소를 변경하려면 어떻게 해야 할까? 1) np.where 절로 조건에 해당하는 인덱스를 가져오기 # 예시로 사용할 배열 생성 arr = np.array([[0.1, 0.6, 0.3, 0.8, 0.2], [0.7, 0.4, 0.9, 0.2, 0.5], [0.3, 0.2, 0.6, 0.7, 0.1], [0.8, 0.1, 0.5, 0.4, 0.9]]) # 2번 열과 4번 열에서 0.5를 초과하는 값의 인덱스 가져오기 indices = np.where(arr[:, [2,.. [Python] min-max 벗어난 값을 min, max값으로 대체하기 일반적으로 데이터 정규화를 위해 min-max scaling을 많이 사용한다. 하지만 min-max scaling의 단점은 기준이 scaling이 데이터의 min 값과 max값을 기준으로 이루어지기 때문에 아래와 같은 단점을 갖는다. ① 이상치에 영향을 많이 받는다. ② 운영 시 min, max값이 넘는 값이 유입되면 에러가 발생한다. 이상치는 min-max scaling 하기 전 제거하고 scaling을 하면 어느 정도 해결할 수 있으나 운영 상에서 기존 데이터 범위 외 데이터가 새롭게 들어올 경우는 코드를 추가해 미리 대비를 해야 한다. min-max값 범위 외 데이터가 유입되는 경우에 min-max scaling 결과의 예상 범위인 0~1을 넘는 데이터가 생겨나는데 이 때, np.maximum과 n.. 알고리즘 성능 평가 방법 - 빅오 표기법 알고리즘의 성능을 어떻게 평가할까? 알고리즘은 문제를 해결하는 절차, 방법을 의미한다. 그렇다면 어떻게 문제를 해결해야 좋다고 말할 수 있을까? 바로 문제를 올바르게 해결했는지와 빠르게 해결했는지이다. 그렇기에 코딩테스트에서도 제시된 input을 넣었을 때 예상되는 output을 나타내는지로 정확도를 평가하고 제시된 시간과 메모리 안에서 값이 산출되는지로 효율성을 평가한다. 즉, 알고리즘의 실행시간이 짧고 메모리를 적게 사용하는 것이 좋은 알고리즘이라 말할 수 있다. 하지만 알고리즘의 성능을 평가할 때 실행시간을 기준으로 평가하기는 어렵다. 실행시간이 알고리즘이 돌아가는 환경에 따라서 다르게 나타나기 때문이다. 알고리즘이 실행되는 하드웨어 성능에 따라 달라질 수 있으며 어떤 프로그래밍 언어를 사용하는 지.. 자료구조와 알고리즘의 개념 프로그래밍을 처음 시작하면 자료구조와 알고리즘부터 접하게 된다. 알고리즘이란 말은 실무에서도 많이 사용하지만 요즘 핫한 인공지능에서도 알고리즘이라는 표현을 참 많이 쓰는데 자료구조는 뭐길래 컴퓨터과학의 시작이 되며 알고리즘은 뭐길래 강조되는지 그 개념을 알아보고자 한다. 자료구조란? 자료구조의 정의 자료구조란 쉽게 말하면 데이터를 담는 틀이다. 음식을 담을 때 어떤 음식이냐, 어떤 용도이냐에 따라 담는 그릇이 달라지듯 자료구조도 자유롭게 선택해서 사용할 수 있지만 주먹만한 음식을 담기 위해 테이블만한 그릇이 필요하지 않듯 컴퓨터가 효율적으로 처리할 수 있는 자료구조를 알고 자료의 형태와 알고리즘에 맞게 사용하는 것이 중요하다. 자료구조의 종류 자료구조는 크게 단순 자료구조(Primitive Data St.. 이전 1 2 3 4 5 다음 목록 더보기