캠프 종료까지 이제 얼마 안 남았습니다!
15일에 종료라는 것이 믿기지 않을 정도로 정말 얼마 안 남았어요...!
캠프 종료 뒤에 어떤 활동을 해서 역량을 다듬고 보충할 것인지 고민을 좀 해봐야겠습니다.
그치만 캠프 끝난 뒤에 수면 보충부터 먼저...^^
일단 지금 생각하고 있는 건 LangChain을 비롯한 LLM 관련 자료들 다시 기록하기 정도가 있네요!
이거 말고도 예전에 참여했던 Vision 프로젝트 내용들도 다시 복습해야겠습니다.
바쁘다 바빠~~
마지막까지 최선을 다해보겠습니다! 화이팅!!
● 성취
이번 주에는 Docker와 AWS 사용해서 웹 페이지 배포하는 것에 성공했습니다!
그동안 정말 해보고 싶었던 영역이었는데 성공해서 정말 뿌듯했어요 ^_^
이제 배포한 웹 페이지 다듬는 작업만 남았습니다!
나는 할 수 있다 정말로~~~!~!! 우리 팀은 할 수 있다 진짜로~~~!!!
● 학습 & 개선
# Docker & AWS 다루면서 느낀 점
이번주에 Docker 및 AWS를 다루면서 Linux와 네트워크 지식이 필수적이라는 걸 다시 느꼈어요.
AWS에서 ec2 환경 설정할 때 Linux로 두고, Docker에서 이미지를 받아올 때도 Linux로 사용하니까 확실히 편하더라구요.
Linux야!! 나는 너가 오픈소스라서 정말 좋아~~~!!!
따봉 리눅스야 정말 많이 고마워!!!
음 역시 정말 귀여워요...^_^
그거 아세요? 얘 이름은 Tux래요. 턱스라고 읽는다고 하더라구요.
Tux야, 앞으로도 잘 부탁할게!!
네트워크야? 너두 어차피 오래 보게 될 사이인 것 같으니까 잘 부탁한다!!!
학부생 때 네트워크 소홀히 공부해서 미안해... 내가 더 많이 알아볼게~~~!!!
# Docker & Faiss 라이브러리 디버깅
# python:3.10-bullseye 베이스 이미지 사용
FROM python:3.10-bullseye
WORKDIR /usr/src/app
# Python 환경 설정
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# 필수 패키지 설치 및 SQLite 설치
RUN apt-get update && \
apt-get install -y \
build-essential \
wget \
libsqlite3-dev \
libomp5 \
openjdk-11-jdk && \
rm -rf /var/lib/apt/lists/* && \
wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz && \
tar xzf sqlite-autoconf-3420000.tar.gz && \
cd sqlite-autoconf-3420000 && \
./configure && make && make install && \
rm -rf sqlite-autoconf-3420000.tar.gz sqlite-autoconf-3420000
ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/lib/x86_64-linux-gnu"
ENV JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
ENV PATH="$JAVA_HOME/bin:$PATH"
# 다중 스레드 비활성화 설정 및 PyTorch CPU 강제 사용 설정
ENV OMP_NUM_THREADS=1
ENV CUDA_VISIBLE_DEVICES=""
ENV PYTORCH_ENABLE_MPS_FALLBACK=0
ENV TORCH_DEVICE="cpu"
# 기존 디렉토리가 비어 있지 않다면 삭제
RUN rm -rf /usr/src/app/*
# Git 리포지토리 클론
RUN git clone https://github.com/yooobwoood/final_proj_blog.git /usr/src/app
WORKDIR /usr/src/app
# 환경 파일 복사
COPY .env /usr/src/app/.env
COPY .env.dev /usr/src/app/.env.dev
COPY .env.prod /usr/src/app/.env.prod
COPY .env.prod.db /usr/src/app/.env.prod.db
# Python 패키지 설치
RUN pip install --upgrade pip
RUN pip install django-crontab
RUN pip install -r requirements.txt
# faiss 설정 변경
RUN cd /usr/local/lib/python3.10/site-packages/faiss && \
ln -s swigfaiss.py swigfaiss_avx2.py
위는 최종 프로젝트 중에 발견한 오류 해결 코드인데요...!
처음에 faiss 설정 변경 없이 EC2에서 CPU로 faiss 동작시키려고 하면 계속 swigfaiss_avx2.py를 애타게 찾더라구요.
ModuleNotFoundError: No module named 'faiss.swigfaiss_avx2'
얘가 이런 식으로 swigfaiss_avx2를 애타게 찾아요...
그래서 swigfaiss_avx2.py 부르짖으면서 호출할 때, swigfaiss.py한테 찾아가라고 방향 알려줬어요...^^
# faiss 설정 변경
RUN cd /usr/local/lib/python3.10/site-packages/faiss && \
ln -s swigfaiss.py swigfaiss_avx2.py
해결 코드는 위와 같습니다!
아무튼... 진정해... cpu only EC2 !!! Docker 동작시킬 때 swigfaiss_avx2 자꾸 찾으면서 울부짖지 말라고~~~!!!
# SK AI 컨퍼런스 후기
SK에서 AI 컨퍼런스를 연다는 이야기를 듣고 화요일에 다녀왔습니다!
월요일에도 다녀올려고 월~화 휴가 썼는데 팀 프로젝트 작업이 남아있었기에... 화요일 하루만 다녀왔어요...^^
SK가 AI를 통해 실현하고자 하는 가치가 궁금하기도 했고... 제가 또 이런 컨퍼런스는 환장하거든요...ㅎㅎ
각종 엔지니어들과 개발자들이 모여서 본인들이 일하는 영역을 소개한다....?!
이거 재미 없기 쉽지 않거든요. 저한테는 이게 도파민이거든요... ㅋ ㅋ ㅋ
잔뜩 기대하고 도착한 컨퍼런스 전시장입니다!
민트색 테마가 정말 이뻤어요!
접수처에서 번호표 뽑고 파우치도 받았어요!
파우치 안에 물/충전 케이블(보조 배터리인 줄 알았던...)/두꺼운 메모지 등이 들어 있었습니다.
저는 충전 케이블이 정말 마음에 들더라구요.
역시 개발자들이 주문 넣어서 그런지... 충전 가능한 거의 모든 경우의 수들이 고려되었더라구요...^^
5 pin, 8 pin, c type 셋 다 있는 거 보고 거의 뭐 탕평책인 줄 알았습니다... holy... 제갈량이다....
구글 부스에서 노는 것도 했어요!
처음 뵙는 분들이랑 캐치 마인드도 했는데 정말 재밌었습니다 ^_^
얼마나 즐거웠냐면.... 저기 열심히 춤 추고 있는 클라우드 캐릭터님 보이시죠?
저도 너무 즐거운 나머지 체면 내려놓고 같이 몸 흔들고 싶었잖아요~ 참느라 힘들었어요~
맨 아래 사진은 노벨 화학상 받은 기념으로 구글이 제공한 기념 주화 초콜릿입니다!
영광의 맛... 잘 느꼈습니다~
아 그리고 이건 퀴즈 행사에 참여해서 받은 간식입니다!
제 기억으로 AI/데이터 관련으로 퀴즈가 5개 정도 나오는데, 그거 다 맞춰야 저거를 받을 수 있었어요.
그래도! 제가 나름 이 분야에 애정이 있는 편인데! 틀리면 좀 자존심 상할 거라 생각했거든요...?!
음... 다행히도 전부 맞춰서 자존심은 지켰습니다 ^_^
자연어 처리의 정의, 머신 러닝 개념, 튜링 테스트 정의, AI로 할 수 없는 것 등등 생각보다 학술적인 내용으로 퀴즈가 나와서 놀랐어요.
AI 교양 수업에서 제공하는 퀴즈 난이도 급이었던 것 같아요...!
업계 사람 아니면 나름 어려웠을 것 같기두 합니다.
그리고 마지막에는 키노트 강연도 들었습니다!
근데 놀라웠던 건... 번역을 AI가 실시간으로 같이 하더라구요...??
정확도/속도 모두 놀라웠던 걸로 기억합니다...
입구에서 이어폰형 번역기도 같이 나눠줬는데, 시력이 안 좋으신 몇몇 분들 빼고는 안 쓰시더라구요...
저 역시... 이어폰형 번역기 사용 안 하고 그냥 봤습니다...^^
앞으로 통번역 업계는 어떤 식으로 변화할 것인지, 저 기술은 어떤 모델을 베이스로 어떤 테크닉을 사용해서 만든 것인지 등이 궁금해졌어요.
STT 음성 모델 + Translation 모델을 결합해서 2 stage 형태로 모델을 만들어서 쓴 것인지, 아예 stage 1개로 구성해서 모델을 만들어낸 것인지 너무 궁금해지더라구요.
어찌 저런 정확도와 속도를 낼 수 있는 것인지... 놀라웠어요....
발표 스크립트를 미리 발표자에게 받아봄으로써 도메인을 학습시킨 것일까요?
아니면 일반적으로 구축한 모델로 저런 성능을 뽑아낸 것일까요...?
고유명사들도 상당히 잘 잡아내서 정말 감탄만 나왔습니다...!
키노트를 듣다보니 올해의 키워드는 'AI Agent'인 것 같더라구요.
SK가 개발하고 있는 LLM 활용 서비스들도 여기에 초점을 두고 발전시키는 것으로 보였습니다.
컨퍼런스에서 RAG 등의 기술을 꽤 빈번하게 언급했는데, 현재 제가 듣고 있는 'SK네트웍스 Family AI 캠프' 커리큘럼과 겹치기도 해서 더 흥미롭게 들을 수 있었어요.
앞으로 SK가 어떤 방향으로 기술을 활용할 것인지 궁금해져요!
SK 네트웍스도 마찬가지고요!!
아무래도 과정을 다 마친 뒤에 LLM을 좀 더 복습해야겠다는 생각이 들었어요...^_^
신나서 말이 많아졌네요...^^ 맞아요 저 ai 오타쿠인 것 맞는 것 같아요... 이거 너무 재밌어요....
개인적인 일들과 프로젝트가 겹쳐서 스트레스를 많이 받고 있던 상황인데, 컨퍼런스 덕분에 기력을 제대로 회복했습니다!
AI 컨퍼런스에서 기분 하이해진 상태로 친구들한테 잔뜩 주절거렸는데도 불구하고 여전히 즐겁네요!
살다보면 힘들고 슬픈 일들도 겪게 되지만, 그럼에도 불구하고 흥미로운 것들이 세상에 정말 많아요!
제가 뭐 성인군자가 아닌지라 인생에 대해 설파하기는 좀 그렇지만... 지금 하고 있는 것들에 최선을 다하면서 살래요!
모든 인간은 죽음에서 자유로울 수 없어요.
그치만 결말을 알면서도 최선을 다하면서 산다는 건... 그거야말로 최고로 멋진 반항이 맞는 것 같아요.
펀쿨... 음...
어릴 때는 전혀 이해하지 못했던 카뮈의 말을 이제야 좀 알겠어요.
남은 프로젝트 기간 동안 최선을 다해보겠습니다!! 좀만 더 버티면 잠 충분히 잘 수 있다!!!
+) 부족한 부분이 있으면 댓글로 말씀해 주세요! 겸허한 마음으로 더 공부하겠습니다.
'활동 > SK네트웍스 Family AI 캠프 2기' 카테고리의 다른 글
SK네트웍스 Family AI 캠프 2기 : 마무리 후기 (14) | 2024.11.17 |
---|---|
SK네트웍스 Family AI 캠프 2기 : 25th week (11월 1주차) (5) | 2024.11.04 |
SK네트웍스 Family AI 캠프 2기 : 24th week (10월 4주차 + 10월 회고) (3) | 2024.10.28 |
SK네트웍스 Family AI 캠프 2기 : 23th week (10월 3주차) (2) | 2024.10.21 |
SK네트웍스 Family AI 캠프 2기 : 22th week (10월 2주차) (3) | 2024.10.14 |