반응형

nlp 6

6편. 성능 최적화 - CPU에서 27배 빠르게

이번 편에서 다루는 것이전 편에서 LLM을 활용해 강좌 설명을 보강했다. 하지만 심각한 성능 문제가 있었다.1개 강좌 보강: 32초1,200개 보강 예상: 10시간 40분 이번 편에서는 이 문제를 어떻게 27배 빠르게 개선했는지 다룬다.문제 현상 분석증상LLM 추론이 비정상적으로 느렸다.import timestart = time.time()result = model.generate(**inputs, max_new_tokens=150)elapsed = time.time() - startprint(f"추론 시간: {elapsed:.2f}초") # 32.14초 비슷한 크기의 다른 모델은 1~2초대였다. 뭔가 잘못되었다.가설 수립느린 원인으로 생각할 수 있는 것들:모델 크기가 큼토큰 생성량이 많음CPU 성능 ..

5편. LLM으로 강좌 설명 보강하기

이번 편에서 다루는 것이전 편에서 언급한 문제:강좌 설명이 부족하면 임베딩 품질이 떨어진다. 실제 데이터를 보니, 상당수의 강좌가 설명이 없거나 너무 짧았다.이 문제를 LLM(Large Language Model)을 활용해 해결했다.문제 분석데이터 현황강좌 설명을 분석해보니:상태비율예시설명 없음15%NULL 또는 빈 문자열이름과 동일20%"데이터베이스" → "데이터베이스"너무 짧음25%"SQL 기초 학습" (10자 미만)충분함40%2줄 이상의 설명 60%의 강좌가 불충분한 설명을 가지고 있었다.임베딩에 미치는 영향# 설명이 부족한 강좌course_1 = "데이터베이스"# 설명이 충분한 강좌 course_2 = "데이터베이스 설계 원리와 SQL 쿼리 작성법을 학습합니다. 정규화, 인덱스, 트랜잭션 처리를..

4편. 추천 알고리즘 설계 - 가중치 기반 개인화

이번 편에서 다루는 것임베딩이 준비되었으니, 이제 실제로 "이 학생에게 어떤 강좌를 추천할것인가?"를 결정하는 알고리즘을 설계한다.핵심은 학과 기반 추천과 관심분야 기반 추천을 어떻게 결합할 것인가였다.추천 전략의 고민옵션 1: 학과 기반만 (100%)학생의 소속 학과에 개설된 강좌만 추천 장점:전공 학점 취득에 유리단순하고 명확한 로직단점:학생의 개인적 관심사 반영 불가모든 학생에게 동일한 추천 결과차별화된 가치 제공 불가옵션 2: 관심분야 기반만 (100%)학생이 선택한 관심분야와 가장 유사한 강좌만 추천 장점:개인화된 추천학생 만족도 높음단점:전공과 무관한 강좌가 추천될 수 있음학점 인정 문제 발생 가능옵션 3: 하이브리드 방식 (선택)두 기준을 가중치로 결합최종 점수 = (학과 점수 × W1) +..

3편. XLM-R로 강좌 임베딩 구축하기

이번 편에서 다루는 것추천 시스템의 핵심은 "이 강좌와 이 학생이 얼마나 잘 맞는가?"를 계산하는 것이다.이를 위해 텍스트(강좌 설명, 학과 정보, 관심분야)를 수치로 변환해야 한다. 이것이 임베딩(Embedding)이다.임베딩이란?임베딩은 텍스트를 고정 길이의 숫자 배열(벡터)로 변환하는 기술이다."파이썬 프로그래밍 기초" → [0.23, -0.45, 0.12, ..., 0.67] (768차원)"웹 개발 입문" → [0.21, -0.42, 0.15, ..., 0.63] (768차원) 의미가 비슷한 텍스트는 비슷한 벡터를 가진다. 이 성질을 이용해 코사인 유사도로 두 텍스트의 유사성을 측정한다.모델 선택: 왜 XLM-R인가?고려한 옵션들모델특징검토 결과OpenAI text-embedd..

2편. 추천을 위한 데이터 파이프라인 설계

이번 편에서 다루는 것AI 추천 시스템의 첫 번째 단계는 데이터 확보다. 아무리 좋은 알고리즘도 데이터가 없으면 무용지물이다.이번 편에서는 외부 학사 API에서 데이터를 가져와 PostgreSQL에 저장하는 파이프라인을 어떻게 설계하고 구현했는지 다룬다.데이터 소스 분석필요한 데이터추천 시스템에 필요한 데이터를 먼저 정리했다.데이터 용도 특징학생 정보추천 대상 식별, 학과 정보5,000건+, 학기마다 변동강좌 정보추천 후보군2,000건+, 매 학기 갱신학과 정보학과 기반 필터링50건, 거의 고정비교과 활동추천 후보군500건+, 수시 등록관심분야개인화 요소100건, 고정학생별 관심분야개인화 매칭10,000건+, 학생이 직접 선택외부 API 구조학사 시스템은 REST API를 제공했다. 각 데이터별로 별도 ..

1편. 프로젝트 소개 - 왜 AI 추천이 필요했나

프로젝트 배경대학에는 수많은 교과와 비교과가 있다. 매 학기 수강신청 때마다 학생들은 뭘 들어야 할지 몰라 선배들이 추천하는 강의에 몰리고, 막상 수강한 강의에 대한 만족도는 낮은 경우가 많다.학생들이 자신에게 맞는 교과를 찾을 수 있도록 AI 기반 추천 시스템을 만들어달라는 의뢰를 받았다.이후 비슷한 요청이 이어져, 현재 몇몇 교육기관에서 이 솔루션을 사용 중이다.해결하고자 한 것대학에서는 이 문제를 AI 기반 개인화 추천 시스템으로 해결하고자 했다.목표학과 기반 추천: 학생의 전공/학과에 적합한 강좌 우선 추천관심사 반영: 학생이 선택한 관심 분야를 추천에 반영자동화: 매 학기 새로운 강좌가 개설되어도 자동으로 추천 갱신설명 가능성: 왜 이 강좌를 추천하는지 근거 제공기술적 도전 과제이 프로젝트에서 ..

반응형