Python에서 Thread는 어떻게 사용하는가?
파이썬은 느리다.우리가 파이썬을 처음 접했을때부터 많이 들어오던 말이다.물론, 최근에는 파이썬 내부적으로도 많은 개선이 이뤄지고 있고, C++로 동작하는 다양한 라이브러리들이 많아지면서속도에 대해 체감할 수 있는 수준의 발전이 있었다.하지만, 여전히 저수준의 언어들 C, C++, Rust 에 비해서 느린것은 사실이다. 그렇다면, 파이썬은 왜 느리고, 어떻게 개선할 수 있을까?물론, 다양한 원인과, 다양한 개선방안이 있겠지만,그 중 대표적으로 I/O 바운드 로직에서 Python에서는 GIL의 존재로 인해,병렬처리가 실질적으로 어려워 지연시간이 발생하는 문제를 그 중 하나로 꼽을 수 있다.이때, 해결방법으로 보통 떠올리는것이 Threading을 활용한 해결일것이다.다만, 모든 경우에 threading으로 해..
더보기
[Fine-Tuning] SimCSE + LoRA를 활용해서 임베딩 모델을 Fine-Tuning해보자!
Github 구현 코드 먼저 보기 : https://github.com/WontaeKim89/embedding_SimCSE_LoRA 오늘은 LoRA를 이용해서 Embedding Model을 학습하는 과정을 정리해보려 한다.구현코드 링크를 위에 첨부해두었는데,먼저 내용 이해에 도움이 되는 내용들을 아래에 정리해두었으니, 포스팅 내용을 쭉 읽어보신 후,위 링크를 통해 구현 코드를 살펴보시는걸 권장드린다. 임베딩 모델은 추천시스템, 검색, 챗봇, 번역, 감정분석, Text Summarization등거의 모든 NLP 분야에서 사용되는 매우 중요한 언어모델 분야중 하나이다.최근 워낙 생성 모델쪽으로 관심이 집중되어있고, 관련 연구도 훨씬 활발하긴 하지만, 임베딩 모델도 꾸준히 발전하고 있다.임베딩 모델은 아직까..
더보기