화투게임 + ML
화투 게임 동영상을 학습해서 점수를 계산한 모델이 있나?
지금 질문하신 건 상당히 흥미로운 주제예요!
화투 게임(고스톱) 동영상을 인공지능이 분석해서 점수를 계산하거나 상황을 인식하는 모델이 있느냐는 질문인데, 결론부터 말하면:
✅ 현재까지 공개된 수준에서는 “정식으로 완성된 모델"은 드뭅니다.
하지만 가능성은 충분하고, 연구나 개인 프로젝트로 진행된 사례는 일부 존재합니다.
🔍 왜 어려운가?
화투 게임은 다음과 같은 복합적 인식이 필요합니다:
- 영상에서 카드 인식 (작고, 복잡한 문양)
- 카드의 종류 판별 (광, 피, 띠 등)
- 현재 플레이 상황 분석 (누가 어떤 카드를 냈는지 추적)
- 룰 적용해서 점수 계산 (고도 복잡함: 고, 흔들기, 총통, 쪽, 따닥 등)
💬 즉, 단순한 카드 인식 → 상황 인식 → 규칙 적용 → 점수 계산까지
여러 AI 기술이 연계되어야 하기 때문에 꽤 복잡한 멀티모달 AI 시스템이 필요해요.
AI Lifecycle
[라이프사이클]
- Data: Data ingestion > Data analytics > Data engineering > to AI
- AI: Model training > Model testing > Model deployment > to Data
[구분]
- Predictive AI: 예측 AI
- Generative AI: 생성형 AI
[Supervised vs. Unsupervised]
- Supervised: Labeled data Classification: 사진에 나온 것이 고양이인지 개인지 구분. 로지스틱 회귀같은 것으로 해결 Regression: 숫자형 변수를 예측하는 회귀. 과거 판매를 바탕으로 제품 매출을 예측. 선형회귀 같은 것으로 해결.
- Unsupervised: Unlabeled data Clustering. 비슷한 특성을 같는 데이터 포인트를 그룹화. 고객인구통계를 사용해 고객 세분화를 결정. k-평균 클러스터링 같은 것으로 해결. Association: 연결로 기본관계를 식별. 식료품 매장의 경우 두 제품의 상관관계를 파악하여 시너지 효과를 위해 서롭 가깝게 배치. 사용자는 연결 규칙 학습 기술, Apriori와 같은 알고리즘을 사용하여 연결문제 해결. Dimensionality reduction: 차원축소. 데이터 세트의 차원 또는 특성의 개수를 줄여 모델의 효율성을 향상. (예)연령, 교통 규정 위반 이력, 자동차 유형과 같은 고객 특성을 결합하여 보험 견적을 생성하는 것. 주요 구성요소 분석(principal component analysis) 같은 방식으로 해결.
위 분류를 기준으로 BigQuery에서 제공하는 모델을 선택하고, 데이터를 입력해서 바로 학습시킬수 있음. (예)구매예측.
Generative AI vs. LLM
생성형 AI는 텍스트외에 다앙한 유형의 콘텐트를 생성하는 더 넓은 범위의 모델을 포괄하는 반면, LLM은 생성형 AI 모델의 한 유형으로 언어 작업에 특화된 모델을 의미.
생성형 AI:
- 생성 모델을 사용하여 텍스트, 이미지, 기타 데이터를 생성할 수 있는 인공지능의 한 분야이며 주로 프롬프트에 응답합니다.
- 입력된 학습 데이터에서 패턴과 구조를 학습한 후 유사한 특성을 가진 새로운 데이터를 생성합니다.
- LLM의 학습원리와 학습목적. LLM은 대규모 범용 언어 모델로 선행 학습 후 특정 목적에 맞게 미세 조정이 가능. 이때 대규모란 경우에 따라 페타바이트급에 달하는 학습 데이터 세트의 규모와 파라미터 수를 의미. 파라미터는 머신이 모델 학습을 통해 학습한 메모리와 지식. 파라미터는 텍스트 예측 등 모델의 문제 해결 능력을 결정하며 그 수는 수십억에서 수조 개에 이름. 범용이란 모델이 일반적인 문제를 충분히 해결할 수 있다는 뜻. 이는 작업의 종류와 무관하게 적용되는 인간 언어의 공통성 때문.
- LLM이 선행 학습되고 미세 조정되었다고 하면 이 모델이 대규모 데이터 세트를 사용해 범용으로 선행 학습된 후 특정 목표에 맞게 더 적은 데이터 세트로 미세 조정되었음을 뜻함.
- LLM의 학습: LLM에 프롬프트를 제출하면 선행 학습된 모델에서 정답의 확율을 계산함. 이 확율은 선행 학습이라고 불리는 작업을 통해 결정됨. 선행 학습은 방대한 텍스트, 이미지, 코드 데이터 세트를 모델에 피드하는 것으로 모델이 이 언어의 기본 구조와 패턴을 익힐 수 있게 함. 이 프로세스를 통해 모델은 인간의 언어를 효과적으로 이해하고 생성하게 됨. 이처럼 LLM은 고급형 자동 완성 기능처럼 작동하면서 프롬프트에 대해 가장 일반적인 정답을 제안함.
프롬프트 엔지니어링:
Knative
좋아요, GCP에서의 Knative에 대해 설명드릴게요! ☁️🐳
Knative는 Kubernetes 위에서 서버리스(Serverless) 워크로드를 실행할 수 있도록 해주는 플랫폼이에요.
🚀 Knative란?
**Knative (케이네이티브)**는 Google이 주도하고 있는 오픈소스 프로젝트로,
Kubernetes 기반의 서버리스 앱 실행 플랫폼이에요.
즉,
컨테이너 기반 앱을 “필요할 때만 실행되게”, “자동 스케일링”, “이벤트 기반 실행” 등을 가능하게 해주는 K8s 확장 기능!
🧱 Knative의 구성요소 (크게 2가지)
| 구성 요소 | 설명 |
|---|---|
| Knative Serving | 앱을 서버리스로 실행. 요청 없을 때 0으로 스케일 다운도 가능 |
| Knative Eventing | 이벤트 기반으로 앱을 실행 (Pub/Sub, CloudEvents 등 트리거 지원) |
선택적으로 사용할 수 있어요. Serving만 쓰는 경우도 많아요.
Openstack vs. k8s
좋은 질문이에요!
**OpenStack과 Kubernetes(K8s)**는 둘 다 클라우드 인프라를 위한 기술이지만, 역할이 다르고 보완 관계에 있어요.
📌 요약 먼저:
🧱 OpenStack = 가상 인프라(IaaS)를 만드는 플랫폼
🚀 Kubernetes = 애플리케이션(컨테이너)를 배포·운영하는 플랫폼
→ 둘을 같이 쓰면 클라우드 인프라 + 클라우드 앱 플랫폼이 완성돼요.
🔍 개념 정리
| 항목 | OpenStack | Kubernetes |
|---|---|---|
| 목적 | 가상머신 기반 인프라 제공 (IaaS) | 컨테이너 기반 앱 오케스트레이션 (CaaS, PaaS) |
| 주요 대상 | VM, 네트워크, 스토리지 등 하드웨어 리소스 | 컨테이너(Pod), 서비스, 배포 자동화 등 |
| 운영 자원 | VM, Volume, Network | Pod, Deployment, Service |
| 주요 컴포넌트 | Nova, Neutron, Cinder 등 | kubelet, kube-apiserver 등 |
| 설치 위치 | 물리 서버 위 | VM 또는 베어메탈 위 |
🔁 어떻게 함께 쓰일까?
💡 시나리오 1:
OpenStack 위에 Kubernetes를 설치
natural semantic ordering
좋은 질문이에요!
**Natural Semantic Ordering (자연 의미 순서)**는 특히 UI/UX나 데이터 정렬에서 자주 언급되는 개념으로, 사람들이 직관적으로 기대하는 방식대로 항목을 정렬하는 것을 의미해요.
🧠 개념 정리: Natural Semantic Ordering이란?
“텍스트나 숫자가 사람이 이해하기 좋은 순서로 정렬되도록 하는 방식”
기본적인 정렬(예: 사전순, ASCII 정렬)은 기계적으로 문자 하나하나를 비교하지만,
Natural Semantic Ordering은 의미나 숫자 크기 등을 고려해서 훨씬 자연스럽게 보여줍니다.
🔍 예시로 이해하기
✏️ 일반 정렬 (사전순, ASCII 정렬)
file1.txt
file10.txt
file2.txt
✅ 자연 의미 순서 (Natural Semantic Ordering)
file1.txt
file2.txt
file10.txt
사용자는 위와 같이 정렬되길 기대하죠!
Firebase + Firestore
좋은 질문이에요!
Firebase와 Firestore는 서로 다른 개념이지만, 밀접하게 연관된 관계예요. 간단히 말하자면:
🔥 Firestore는 Firebase 플랫폼의 데이터베이스 중 하나입니다.
🧩 관계 요약
| 개념 | 설명 |
|---|---|
| Firebase | Google이 제공하는 모바일/웹 앱 개발 플랫폼. 백엔드 기능(인증, DB, 호스팅, 푸시 알림 등)을 통합 제공. |
| Cloud Firestore | Firebase가 제공하는 NoSQL 실시간 데이터베이스 서비스. Firebase의 공식 데이터 저장소 중 하나. |
🧠 이해를 돕는 비유
- 🔧 Firebase = 앱 개발자를 위한 종합 도구 세트
- 📦 Firestore = 그 안에 들어 있는 데이터 저장용 도구 (클라우드 DB)
Firebase 안에서의 Firestore 역할
Firebase는 여러 기능을 포함해요:
Storage
[Storage 종류]
- Standard Storage: Hot data용
- Nearline Storage: Once per month. 백업이나 롱테일 멀티미디어.
- Coldline Storage: Once every 90 days.
- Archive Storage: Once a year
[Autoclass 자동클래스]
- 각 객체의 액세스 패턴에 따라 객체를 적절한 스토리 클래스로 자동전환
- 스토리지 비용 감소를 위해 액세스하지 않는 데이터를 콜드 스토리지 클래스로 향후 액세스 최적화를 위해 액세스하는 데이터를 Standard Storage로 옮깁니다.
[비용]
- 클라우드 스토리지는 최소비용이 없음 사전에 용량을 프로비저닝할 필요가 없기 때문.
[보안]
- 클라우드 스토리지는 데이터를 디스크에 쓰기전에 추가 요금 없이 언제나 서버 측에서 데이터를 암호화 함.
- 고객의 기기와 Google 사이를 이동하는 데이터는 기본적으로 HTTPS/TLS. 전송 계층 보안으로 암호화됨.
[이동]
GCP Network
🗺️ GCP에서 로드밸런서 종류 (정리)
| 이름 | 계층 | 설명 |
|---|---|---|
| HTTP(S) Load Balancer | L7 | 웹 트래픽용, 글로벌, URL 경로 기반 라우팅 |
| TCP/SSL Proxy Load Balancer | L4 | 글로벌 TCP 트래픽용, 프록시 기반 |
| Network Load Balancer (External/Internal) | L4 | 지역기반, 직접 연결 방식 (패스쓰루 방식) |
| Internal HTTP(S) Load Balancer | L7 | GCP 내부 서비스 간 통신용 |
필요하다면 로드밸런서 설정하는 방법, 혹은 **구성 예시(다이어그램)**도 만들어드릴게요. 혹시 특정 서비스 시나리오가 있으실까요? 😊
HP ENVY x360 15m-bq121dx
Woot에서 사서 방치하다 개발용 머신으로 세팅한 녀석이 하루에도 몇 번씩 죽어서 어찌 개조를 할까 고민하다 eGPU를 달아보자 조사를 하고 있다.
먼저 NVME에 PCIe를 달수 있는 것을 보고 Spec.을 찾아본다.
노트북 Spec.에서 지원하는 정도를 좀 알아본다.
HP ENVY x360 15m-bq121dx 노트북은 M.2 2280 폼 팩터의 PCIe NVMe SSD를 지원합니다. 따라서, 기존의 HDD와 함께 듀얼 스토리지 구성이 가능합니다.
권장되는 SSD 사양:
- 폼 팩터: M.2 2280
- 인터페이스: PCIe 3.0 x4, NVMe
- 용량: 최대 1TB까지 지원
주의사항: