(전) 엔코아 컨설팅
(전) 한국 오라클
AI 프리랜서 컨설턴트
파이썬 머신러닝 완벽 가이드 저자
講義
受講レビュー
- FastAPI 完全ガイド
投稿
Q&A
Q, K, V 초기 임베딩
안녕하십니까,강의를 잘 듣고 계시다니, 너무 기분 좋습니다 ^^초기 token embedding은 어떤 방식으로 설정되는 것인가요?=> 초기 token embedding은 word2vec과 같이 미리 pretrained 된 embedding을 사용하지 않는 이상, 학습이 되지 않아서 제대로 된 단어의 의미를 표현하지 못합니다. 그래서 초기 embedding값은 정규 분포와 같은 값의 형태를 가지고는 있지만, 제대로된 단어 의미를 나타내지는 못하고 이후 모델이 학습을 하면서 점차 단어 의미를 다차원 벡터로 표현할 수 있게 됩니다. 2-1 Query, Key, Value를 구하기 위해 초기 token embedding에 (3, 3) 형태의 nn.Linear를 곱하여 각각 (6, 3)으로 변환하는 과정의 의미가 궁금합니다.기존 token embedding을 그대로 사용하지 않고 이렇게 변환하는 이유가 무엇인지 알고 싶습니다=> query, key, value는 반드시 입력 token embedding에 학습 파라미터가 적용된 선형변환 형태로(즉 nn.Linear 적용하여 변환) 적용되게 됩니다. Transformer와 같은 NLP 모델은 문장의 문맥과 구성, 단어간의 관계 및 구성등의 요소를 모델의 학습을 통해서 얻어 질 수 있는데, 이를 위해 query, key, value를 token embedding 자체로 적용하지 않고, 학습 파라미터가 적용된 선형 변환 형태로 만든 다음에 내적을 구하는 방식으로 관계 유사도를 만들게 됩니다.즉 Transformer 모델에 학습 데이터(학습 말뭉치 문장)을 점진적으로 학습 시키면서 점점 향상된 문맥의 의미를 query, key, value의 학습 파라미터를 통해 학습 하면서 얻게 되는 것입니다.2-2 조금 더 구체적으로는, 이렇게 선형 변환을 적용하면 기존 임베딩의 의미가 무시되거나 손실되는 것은 아닌지 의문이 있습니다.=> 전 섹션인 embedding에서도 보셨겠지만, embedding 자체도 학습 파라미터를 가지고 있습니다. 때문에 embedding값도 학습을 하면서 계속 최적화되면서 변경이 됩니다. 그래서 모델이 학습을 하면서 embedding의 학습 파라미터, query, key, value의 학습 파라미터들이 계속 최적화 되면서 문장의 문맥, 단어간 관계등을 가장 잘 표현해 줄 수 있는 값으로 최적화 되는 것입니다. 요약드리자면, embedding, query, key, value 모두 다 학습 파라미터를 가지고 있으며, 이들이 학습을 수행하면서 최적으로 변경되면서 문장의 문맥 의미들을 잘 파악할 수 있도록 Self Attention 메커니즘이 구성되어 있는 것입니다. 감사합니다.
- 0
- 1
- 10
Q&A
pyspark local 설치
안녕하십니까, 지방에 내려오느라 답변이 늦었습니다. 강의에서 Spark를 로컬 PC에 설치하지 않은 이유는 아래와 같습니다. 먼저 Spark가 local에 설치하기가 만만하지 않습니다. 설치를 docker로 하면 좀 더 나을 수는 있는데, docker를 잘 아시면 쉬울 수도 있지만, 그렇지 않으시면 docker 사용하는데 시간이 많이 필요할 수 있습니다. 이 밖에 pyspark용 주피터 노트북이라던가 여러가지 설치에 시간이 더 소모될 수 있습니다. Pyspark의 버전과 함께 수행되어야 하는 다른 라이브러리들의 버전 맞추기가 어려워 질 수 있습니다. 로컬 PC에서 자원을 많이 소모합니다. 특히나 메모리 자원을 많이 사용해서, PC 사용이 좋지 않을 경우 잘 수행되지 않거나, 이유없이 Shutdown이 될 수도 있습니다. 감사합니다.
- 0
- 2
- 24
Q&A
이상 탐지에 사용할 비전 기술 조언 부탁드립니다.
안녕하십니까, 질문을 제가 잘 이해하지 못했습니다. 이미지나 영상에서 스크래치, 깨짐등의 불량을 잡아내는 방식은 적어주신 이미지 판별이나, object detection, segmentation을 적용합니다. 그런데 여기서 어떤점을 더 강조해서 듣고 싶으신건지, 아님 다른 내용이 필요하신건지 제가 어떻게 답변을 드려야 할지 잘 모르겠습니다. 어떤 부분을 강조해서 알고 싶으신 건지, 좀 더 자세하게 내용을 기재해 주실 수 있는지요? 감사합니다.
- 0
- 2
- 26
Q&A
fastapi의 가능성에 대해 궁금합니다.
안녕하십니까, FastAPI는 파이썬 생태계에서 떠오르는 웹 프레임 워크입니다. 파이썬 웹 프레임 워크를 사용한다고 하면 요즘은 Flask보다 FastAPI를 더 선호합니다. 웬만한 파이썬 기반의 신규 프로젝트, 특히 AI/ML과 결합된 백엔드 개발에서는 FastAPI가 사실상 표준처럼 자리잡아 가고 있습니다. 근데, 이러한 강세는 기업내에서 파이썬을 주요한 개발 언어로 사용하거나, 파이썬 프레임워크 도입을 적극적으로 수용하는 환경에 국한됩니다. 국내에서는 말씀하신대로 자바 기반의 스프링이 훨씬 더 많이 사용되고 있습니다(취업이 목표라면 스프링을 먼저 배우시는게 더 나은 선택일 수 있습니다 ^^)FastAPI의 강점은 Django나 Flask와 같은 파이썬 생태계 웹 프레임 워크와 비교 되는게 맞을 것 같습니다. 강의에서 좀 더 자세히 설명드리지만, FastAPI의 강점을 요약해서 말씀드리자면, Django나 Flask보다 빠르고 구현이 보다 간결하다 라고 요약 드릴 수 있습니다. 물론 Django 대비해서 다양한 기능을 웹 프레임 워크레벨에서 지원하지 않고, 다른 패키지나 직접 구현해야 하는 점은 있습니다만, Flask와 같이 오히려 특정 기능이 웹 프레임워크에 의존하지 않는 것을 선호하는 개발팀에게는 장점으로 다가 갈 수 있습니다. 파이썬의 풍부한 AI 생태계 지원에 힘입어, 요즘은 AI 기반, 특히 LLM위한 백엔드 시스템으로 FastAPI를 많이 선호합니다요약 드리자면 파이썬을 잘 활용하는 기업 환경에서라는 전제에서, FastAPI는 빠른 성능, 보다 간결한 구현을 가능하게 하는 웹 프레임워크라는 장점으로 가장 빠르게 성장하고 있습니다. 특히나 국내에서는 주로 AI기반의 프로젝트 수행 시 백엔드 시스템으로 많이 선택되고 있습니다. 감사합니다.
- 0
- 1
- 27
Q&A
어디가 필요없는 코드인지 알아내려면....
안녕하십니까, 오 대단하시군요. 전공자도 아닌데, 이렇게 시스템을 스스로 구축하시다니요정적파일 처리를 nginx에서 처리하는 경우 app.mount()가 필요없을 것 같은데...=> nginx를 안쓰신다면 모르겠지만, 쓰실거면 일반적으로 nginx에서 정적 파일 처리를 하는게 더 좋습니다.MySQL서버와 Redis 서버를 찾아가는 FastAPI코드가 있고, yml파일로 컨테이너를 만드는 코드를 작성할 때, network로 서로를 연결하게 될텐데.... 이때 MySQL서버와 Redis 서버를 찾아가는 FastAPI코드가 없어야만 되는지, 아니면, 있더라도 상관이 없는 것인지... 그것도 궁금합니다.=> 해당 질문을 제가 잘 이해하지 못했습니다. FastAPI에서 MySQL나 Redis 서버를 접속하려면 FastAPI 코드가 있어야 합니다. 즉 DB나 Redis Connection정보를 이용해서 접속합니다. 이걸 질문하신 건지 아니면 다른 사항을 질문하신거라면 좀 더 자세히 기재 부탁드립니다. 전체 시스템 구성을 어떻게 하신건지 잘 몰라서 확실하게 답변을 드리기가 어렵지만, FastAPI에서 더 빠질것은 없어 보입니다. 감사합니다.
- 0
- 2
- 29
Q&A
rollup시 null값 매출 라벨링
안녕하십니까, 좋은 정보 감사합니다.
- 0
- 2
- 19
Q&A
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
안녕하십니까, 해결이 되었다니 다행입니다. 감사합니다.
- 0
- 3
- 21
Q&A
sql사용
안녕하십니까, 네, 물론입니다. 실무에서 SQL이 더 편하시면, SQL 가공후, 모델 적용을 하시는 것이 좋습니다. 실제로 데이터가 너무 크면 SQL 가공이 더 시간이 절약될 수 있습니다. 감사합니다.
- 0
- 2
- 18
Q&A
nginx를 사용하고 static 설정을 하는 경우도 app.mount 설정을 해야 하나요?
안녕하십니까, Fastapi에서 app.mount("/static", ...) 하는 경우는 FastAPI(정확히는 Uvicorn/Starlette이) 자체적으로 이미지 파일과 같은 정적 파일 처리를 위해서 적용합니다. nginx에서 정적 파일 처리를 담당한다면 app.mount()를 하실 필요가 없습니다. 다만, 이미지 파일을 FastAPI로 특정 디렉토리로 upload하고, 이를 url로 접근 가능하게 하려면 해당 디렉토리를 nginx에서 참조할 수 있도록 지정하시면 됩니다(이경우도 app.mount() 하실 필요 없고, nginx 설정만 바꿔주시면 됩니다) 감사합니다.
- 0
- 2
- 28
Q&A
파이썬 다운그레이 후 사이킷런 재설치
안녕하십니까, 음, 이제 아나콘다의 Default 환경이 사이킷런 1.0.2 설치를 위해서 다운그레이드가 필요한 모양이군요. 근데 아래 인프런 AI 인턴 답변대로 새로운 가상환경을 구성하고 여기서 파이썬 3.9와 사이킷런을 설치하시면 좋을 것 같습니다. 아래 인프런 AI 답변대로 수행해 보시고, 주피터 노트북이 제대로 새로 생성된 가상환경에서 수행되는지 확인해 보십시요. 노트북에서 sklearn 버전이 1.0.2로 설치되었는지 확인해 보시면 됩니다. import sklearnprint(sklearn.__version__) 감사합니다.
- 0
- 2
- 21






