1 पॉइंट द्वारा GN⁺ 2025-09-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • उच्च-आयामी embedding space में पूर्ण orthogonality के बजाय quasi-orthogonality का उपयोग करके बहुत बड़ी संख्या में concepts को represent किया जा सकता है
  • Johnson-Lindenstrauss प्रमेय यह सुनिश्चित करता है कि किसी भी उच्च-आयामी डेटा को लगभग बिना सूचना-हानि के कम dimensions में project किया जा सकता है
  • optimization प्रक्रिया में loss function का डिज़ाइन बहुत महत्वपूर्ण है, क्योंकि बुनियादी loss function की वजह से vectors का inefficient या biased placement हो सकता है
  • प्रयोगों के नतीजे दिखाते हैं कि embedding space की वास्तविक capacity सैद्धांतिक अनुमान से कहीं अधिक है, और लाखों से लेकर अरबों concepts स्वाभाविक रूप से साथ रह सकते हैं
  • यह खोज natural language processing, embedding design जैसे machine learning practical work में data representation और dimensionality reduction के लिए बड़ा व्यावहारिक महत्व रखती है

परिचय: भाषा मॉडल embedding space की capacity पर एक प्रश्न

हाल ही में 3Blue1Brown की transformer model वीडियो श्रृंखला में, Grant Sanderson ने एक दिलचस्प सवाल उठाया: GPT-3 के 12,288-dimensional embedding space में वास्तविक दुनिया के लाखों concepts को कैसे रखा जा सकता है
यह सवाल high-dimensional geometry और Johnson-Lindenstrauss (JL) प्रमेय जैसे गणितीय परिणामों से जुड़ता है
इसकी पड़ताल करते हुए vector space के मूलभूत गुणों और optimization पर नई insights मिलीं, और बात Grant के साथ collaboration तक पहुँची

vectors की quasi-orthogonality और embedding space की capacity

  • N-dimensional space में केवल N पूरी तरह orthogonal vectors ही हो सकते हैं
  • लेकिन यदि 90 degree से थोड़ा विचलन स्वीकार किया जाए, यानी quasi-orthogonal संबंध (जैसे 85~95 degree), तो उसी space में represent किए जा सकने वाले vectors की संख्या geometric रूप से बढ़ जाती है
  • Grant के वीडियो में 100-dimensional space में 10,000 unit vectors को लगभग orthogonal तरीके से व्यवस्थित किया गया एक visualization दिखाया गया
  • लेकिन उसी प्रयोग को दोहराने पर optimization loss function के डिज़ाइन में एक सूक्ष्म जाल सामने आया

loss function की समस्याएँ और पैटर्न

  • मूल loss function:
    loss = (dot_products.abs()).relu().sum()
  • वास्तविक unit sphere पर इस loss function में दो समस्याएँ आती हैं
    1. Gradient Trap: vector angle जब 90 degree के पास पहुँचता है, तब gradient मजबूत होता है, लेकिन 0 degree या 180 degree के पास gradient लगभग 0 हो जाता है, जिससे सुधार रुक जाता है
    2. 99% समाधान: optimization तकनीक 10,000 vectors में से हर vector को 9,900 vectors के साथ ठीक से orthogonal रखती है, लेकिन 99 vectors के साथ लगभग parallel रखती है, यानी reference vector की प्रतिलिपि जैसा placement बनाती है, और इसी से कुल loss न्यूनतम हो जाता है
  • यह समाधान समग्र रूप से अपेक्षा से मूल रूप से अलग है, इसलिए अधिक परिष्कृत loss function की ज़रूरत पड़ती है
  • इसलिए exponential penalty वाला loss function अपनाया गया: loss = exp(20*dot_products.abs()**2).sum()
  • यह तरीका इच्छित distribution के अधिक करीब परिणाम देता है (अधिकतम pairwise angle लगभग 76.5 degree)

Johnson-Lindenstrauss (JL) प्रमेय: ज्यामितीय गारंटी

  • JL प्रमेय यह सुनिश्चित करता है कि यदि किसी भी उच्च-आयामी data points के set को कम dimensions में random projection के जरिए map किया जाए, तो Euclidean distance लगभग सुरक्षित रहती है
  • 1~N points, error factor ε, और projection dimension k के लिए
    (1-ε)||u-v||² ≤ ||f(u)-f(v)||² ≤ (1+ε)||u-v||²
  • न्यूनतम आवश्यक dimension k है: k ≥ (C/ε²) * log(N)
    जहाँ C सफलता की probability को नियंत्रित करने वाला एक constant है
  • आम तौर पर C का मान सावधानीपूर्वक 4~8 लिया जाता है, लेकिन विशेष projection methods (जैसे Hadamard matrix, optimization methods) में इससे छोटा C हासिल किया जा सकता है

व्यावहारिक उपयोग के क्षेत्र

  1. dimensionality reduction:
    • उदाहरण: e-commerce में ग्राहकों की पसंद को लाखों products वाले space से घटाकर कुछ हज़ार dimensions में कुशलतापूर्वक बदलना
    • high-dimensional data के real-time analysis, recommendation आदि में उपयोग संभव
  2. embedding space की capacity limit का विश्लेषण:
    • पूर्ण orthogonality के बजाय concepts के बीच समानता और अंतर का spectrum को space में स्वाभाविक रूप से represent किया जा सकता है
    • वास्तविक शब्द उदाहरण: "archery", "fire", "gelatinous", "green" आदि, जिनके physical और abstract meanings उच्च-आयामी space में overlap होकर represent होते हैं

embedding capacity का प्रायोगिक विश्लेषण

  • Hadamard matrix transformation आदि के साथ optimization करने पर C का मान 2.5~4 मिला, और GPU-आधारित optimization में यह इससे भी कम हो सकता है
  • प्रयोग की विधि: N standard basis vectors को बारी-बारी से k-dimensional space में project करना, और 50,000 बार optimization दोहराना
  • अवलोकन:
    1. C का मान N बढ़ने पर पहले अधिकतम (~0.9) तक पहुँचता है, फिर धीरे-धीरे घटता है
    2. N/k अनुपात बढ़ने पर C, 0.2 से नीचे गिर जाता है
  • इसका कारण high-dimensional space में sphere packing की दक्षता है
  • इससे संकेत मिलता है कि व्यवहार में सैद्धांतिक upper bound से भी अधिक concepts को represent करने की गुंजाइश है

भाषा मॉडल embeddings का वास्तविक महत्व

  • embedding dimensions k, approximate orthogonality angle F (90°-वास्तविक angle), और C के मान के आधार on, रखे जा सकने वाले concepts की संख्या: Vectors ≈ 10^(k * F² / 1500)
    • k=12,288, F=1(89°) → 10^8
    • F=2(88°) → 10^32
    • F=3(87°) → 10^73
    • F=5(85°) → 10^200 से अधिक vectors संभव
  • केवल 86° पर भी यह observable universe में atoms की संख्या (10^80) से अधिक है
  • यानी, वास्तविक भाषा मॉडल अपेक्षाकृत कम dimensions में भी लाखों अर्थों को समृद्ध रूप से सुरक्षित रख सकते हैं

व्यावहारिक अनुप्रयोग और भविष्य की दिशा

  1. कुशल dimensionality reduction:
    • Hadamard transform, BCH coding आदि के साथ random projection आधारित तरीकों से, जटिल optimization के बिना भी बड़े पैमाने के data की dimensionality reduction और तेज़ computation संभव है
  2. embedding space design:
    • space capacity पर यह insight समझाती है कि transformer जैसे बड़े भाषा मॉडल "Canadian", "Muppet-like" जैसे सूक्ष्म concepts तक के semantic relations को एक साथ सुरक्षित रख सकते हैं
  • निष्कर्षतः, मौजूदा embedding standards (1,000~20,000 dimensions) मानव ज्ञान के representation के लिए पर्याप्त हैं; असली चुनौती उस space के भीतर ideal placement सीखना है

निष्कर्ष

  • loss function की सूक्ष्म optimization समस्या की जाँच से शुरुआत होकर यह high-dimensional geometry और machine learning की बुनियादी संरचना पर गहरी insight तक पहुँचता है
  • 1984 में प्रकाशित JL प्रमेय आज machine learning embeddings, information representation, और dimensionality reduction के सिद्धांत में केंद्रीय भूमिका निभा रहा है
  • Grant Sanderson, 3Blue1Brown चैनल, और Suman Dev के सहयोग के प्रति आभार व्यक्त किया गया है, और इस शोध व लेखन अनुभव की खुशी साझा की गई है

आगे पढ़ें

  1. Sphere Packings, Lattices and Groups – Conway & Sloane
  2. Database-friendly random projections: Johnson-Lindenstrauss with binary coins – Achlioptas
  3. Hadamard Matrices, Sequences, and Block Designs – Seberry & Yamada

1 टिप्पणियां

 
GN⁺ 2025-09-16
Hacker News की राय
  • इस ज्यामितीय गुण के निहितार्थ सचमुच चौंकाने वाले हैं। k-आयामी स्पेस में लगभग-लंबवत के बहुत करीब वेक्टर कितने रखे जा सकते हैं, इसका एक सरल अनुमान लगाने का तरीका सोचा जा सकता है। अगर केवल वेक्टरों के बीच न्यूनतम कोण पर ध्यान दें, तो बात आखिरकार spherical codes के विश्लेषण तक पहुंचती है। फिर भी इस लेख में spherical codes पर मौजूदा शोध का बिल्कुल उल्लेख नहीं किया गया, और इसका काफ़ी हिस्सा ऐसा लगता है मानो language model से लिखा गया हो। साथ ही, कई बुनियादी असंगतियाँ निष्कर्षों की विश्वसनीयता को कम करती हैं। उदाहरण के लिए, K और N के अनुसार C का मान दिखाने वाले ग्राफ़ में x-axis K है या N? कैप्शन में x-axis को N (वेक्टरों की संख्या) बताया गया है, लेकिन बाद में समझाया गया है कि "बहुत बड़े स्पेस" में C=0.2 आया, जबकि ग्राफ़ में C=0.2 केवल तब पहुँचता है जब N=30,000 और K=2 हो—यानी 2-आयामी स्पेस में 30,000 वेक्टर! दूसरी ओर, अगर x-axis K है, तो यह लेख 30,000 आयामों में 2 वेक्टरों से मापे गए परिणाम को 12,888 आयामों में 10 की 200वीं घात वेक्टरों के मामले तक extrapolate कर रहा है, जो समझ से परे है। मैं लोगों के काम को सकारात्मक और सहृदय नज़रिए से देखना चाहता हूँ, लेकिन इन दिनों Hacker News पर LLM-लिखित पोस्टों की बाढ़ सचमुच बहुत भारी होती जा रही है

    • किसी चीज़ को LLM-जनरेटेड कहना न तो साबित किया जा सकता है, और न ही वह सबसे उपयोगी बात है; सीधे यह कहना कि "इसमें त्रुटियाँ हैं" ज़्यादा स्पष्ट और सार्थक है। वास्तव में आपने त्रुटियाँ दिखाईं, यह ज़्यादा मददगार था। उस चित्र में x-axis को N मानना ही सही लगता है

    • मुझे spherical codes के बारे में पता नहीं था, इससे लगा कि इस क्षेत्र की शब्दावली खुद काफ़ी अपरिचित है। Wikipedia को भी जैसे इसके बारे में बहुत कम पता है, और Google के नतीजे भी ज़्यादातर 32 आयामों से नीचे में sphere packing या billiard-जैसी optimal packing पर ही जाते हैं। ऐसा अक्सर होता है कि पहले से मौजूद गणित किसी गैर-सहज विशेषज्ञ शब्दावली के नीचे छिपा रह जाता है और फिर दोबारा खोजा जाता है

    • सही। मैं जानना चाहूँगा कि high-dimensional vector spaces की geometric properties, information, और spherical codes को बेहतर ढंग से समझाने वाला अच्छा लेख कौन-सा है

    • जिस ग्राफ़ का तुमने ज़िक्र किया, उसमें K=2 पर C=0.2 तक पहुँचता हुआ मैं नहीं देख पा रहा। K=3 भी C=0.3 तक ही जाता है और वहीं रुक जाता है। और यह समस्या क्यों है, यह भी मुझे साफ़ नहीं है। लेखक शायद N आधार वेक्टरों को K आयामों में project कर रहा है, और C शायद N-space से K-space में mapping करते समय error measurement जैसा कुछ है। अगर यह विचार ग्राफ़ से मेल नहीं खाता, तो मैं और विस्तार से सुनना चाहूँगा। तुम्हारी दलील में इस अवधारणा पर बात ही नहीं की गई लगती

  • मुझे लगता है लेखक ने केवल उस स्थिति पर बहुत ज़्यादा ध्यान दिया है जहाँ सभी वेक्टर पूरी तरह लंबवत हों, और इस कारण उसने व्यावहारिक रूप से स्वीकार्य error level को बढ़ा-चढ़ाकर आँका है। वास्तव में महत्वपूर्ण यह नहीं है कि लंबवत वेक्टर लगभग-लंबवत बने रहें, बल्कि यह है कि लंबवत से दूर वेक्टरों के बीच भी दूरी का क्रम (ordering) बना रहे। epsilon बहुत छोटा होने पर भी व्यवहार में समस्या हो सकती है। यानी “जैसा कि इस शोध में दिखाया गया है, 1,000 से 20,000 आयाम मानव ज्ञान और reasoning दोनों को समेटने के लिए पर्याप्त हैं” जैसा दावा मुझे बहुत ज़्यादा आशावादी लगता है

    • वेक्टर आम तौर पर n-sphere की सतह पर normalize किए जाते हैं, और व्यवहार में मायने रखने वाली दूरी cosine similarity होती है। इसलिए प्रैक्टिस में "लगभग लंबवत" होना महत्वपूर्ण है। training के दौरान लक्ष्य यह होता है कि अर्थहीन representations को sphere पर और ज़्यादा “orthogonal” बनाया जाए। वास्तविक hardware पर लागू करते समय floating-point precision की सीमाएँ भी होती हैं, इसलिए यह तरीका खास तौर पर अच्छा काम करता है। और हाँ, यह विचार उस ब्लॉग या YouTube वीडियो की पहली खोज नहीं है। AI या कम से कम neural network training में इस lemma के महत्व का उल्लेख लगभग 10 साल पहले C. Eliasmith कर चुके थे, GPT जैसे ultra-high-dimensional knowledge networks के व्यवहारिक training योग्य होने से भी बहुत पहले इस पर काम हो चुका था

    • OP की दलील बहुत अच्छी नहीं है, लेकिन फिर भी लगभग 20,000 आयामों की representational capacity को लेकर उम्मीद बनी रहती है

    • मैं भी यह नहीं मानता कि सभी वेक्टर पूरी तरह orthogonal या independent हैं। distance measures, curvilinear space, और skew coordinate पर भी कुछ पढ़ने लायक है: https://news.ycombinator.com/item?id=41873650. कुछ बुनियादी सवाल हैं: ‘feature ordering के अनुसार distance measure कितना बदलता है?’, ‘अगर सभी orthogonal axes का क्रम बदल दिया जाए, तो क्या algorithm output भी बदलता है?’, ‘क्या high-dimensional space की सभी विशेषताएँ सचमुच 90 डिग्री पर orthogonal हैं?’ अगर features सांख्यिकीय रूप से independent नहीं हैं, तो उनके वास्तव में पूरी तरह orthogonal होने की संभावना नहीं है, और independence मानकर बनाए गए distance measures की उपयोगिता की सीमाएँ हो सकती हैं। Naive Bayes, linear regression, logistic regression, LDA, PCA जैसे linear models गैर-स्वतंत्र features के तहत कम विश्वसनीय हो जाते हैं। L1 Lasso या L2 Ridge regularization जैसी तकनीकों में भी outliers या non-independent, non-orthogonal data पर जोखिम हो सकता है। [पूर्ण orthogonality] को जबरन compress करना कठिन है, इसलिए मॉडल को पर्याप्त मानना मुश्किल है। और मूल सवाल यह भी है कि gbit में simultaneous encoding संभव है या नहीं

  • लेख के अधिकतर हिस्से में जो ChatGPT-जैसा अहसास है, वह काफ़ी खटक रहा था और ध्यान लगाना मुश्किल बना रहा था। मैं भी अपनी English polish करने में AI का इस्तेमाल करता हूँ, लेकिन मैं यह कहता हूँ कि tone या format को ज़रूरत से ज़्यादा न बदले, ताकि उस हद तक बात न पहुँचे। फिर भी मुझे यह गणितीय अवलोकन सचमुच दिलचस्प लगता है। यह इस बात पर बुनियादी संकेत देता है कि बड़े language models और अन्य AI systems वास्तव में कैसे काम करते हैं। जब आप देखते हैं कि high-dimensional data को low-dimensional space में कैसे project किया जाता है और फिर भी उसकी संरचना बची रहती है, तो समझ आता है कि ऐसे mechanisms efficiency और scaling के लिए कितने crucial हैं

    • विडंबना यह है कि तुम्हारे दूसरे पैराग्राफ़ में “fascinating”, “crucial”, “delving” जैसे शब्दों और पैराग्राफ़ की बनावट के कारण वही तुरंत ChatGPT से गुज़री हुई भाषा जैसा एहसास होता है

    • मुझे जानना है कि किस हिस्से में GPT-जैसा एहसास सबसे ज़्यादा आया? क्या वह बहुत ज़्यादा सूचीबद्ध करने वाली शैली की वजह से है?

  • ऐसी सहज थ्योरी और Johnson-Lindenstrauss (JL) lemma, AI safety में SAEs (sparse autoencoders) जैसे mechanistic interpretability research को संभव बनाने के लिए केंद्रीय हैं। इन विचारों में से कई Anthropic के 2022 के पेपर में अच्छी तरह संकलित हैं: https://transformer-circuits.pub/2022/toy_model/index.html

    • असली पेपर कहाँ मिल सकता है, और यह कहाँ प्रकाशित हुआ था, यह जानने की जिज्ञासा है
  • language model किसी एक layer के C आयामों में “concepts” को स्थायी रूप से ठूँसकर नहीं रखता (शायद 12k संख्या का इस्तेमाल उसी तरह किया गया है)। वेक्टरों के बीच पूर्ण orthogonality न हो, तब भी concepts को अलग पहचानकर संभाला जा सकता है। LLM केवल vector space में concepts के बीच दूरी बढ़ाकर काम नहीं करता, बल्कि meanings जगह-जगह overlap भी करते हैं। यही dense representation की मूल बात है। अगर आप sparse autoencoder train करें, तो देख सकते हैं कि कौन-से neurons विषय के अनुसार activate हुए। Neuronpedia इसकी वास्तविक तस्वीर अच्छी तरह दिखाता है: https://www.neuronpedia.org/

    • वही sparse autoencoder research तो इस लेख में कही गई “लगभग लंबवत” अवधारणा पर आधारित है। इसे मूल रूप से ‘superposition hypothesis’ कहा गया था: https://transformer-circuits.pub/2022/toy_model/index.html SAEs dense vectors को overcomplete space में लगभग-orthogonal sparse ‘concepts’ में तोड़ने का काम करते हैं। यह तरीका व्यवहार में वास्तव में अच्छा काम करता है, और अलग-अलग LLMs के embedding spaces को कुशलता से match करने में भी उपयोगी हो सकता है

    • अगर perfect orthogonality की शर्त को थोड़ा ढीला कर दें, तो बहुत अधिक जानकारी समाई जा सकती है। मूल रूप से यह अतिरिक्त (fractional-dimensional) जानकारी को मौजूदा dimensions के साथ cluster करने जैसा है। दूसरे शब्दों में, बहुत-से concepts एक-दूसरे से पूरी तरह orthogonal नहीं होते, उनमें कुछ overlap या correlation होता है। इसलिए लेख में कोई बहुत विस्फोटक बात नहीं है। और “remarkable”, “fascinating”, “profound” जैसे शब्दों का बार-बार इस्तेमाल थोड़ा चुपके से पाठक को खींचने वाली LLM-शैली का एहसास देता है

  • थोड़ा मामूली लेकिन मज़ेदार बिंदु: आप भी इतने स्पेस में अरबों concepts रख सकते हैं। अगर वेक्टर के हर component में केवल 4 bits की ही परवाह करें, तो fp4 में 12000-आयामी वेक्टर लगभग 6KB का होगा, जो UTF-8 में कई पन्नों के text के बराबर है। यह लगभग 3K tokens वाली 64K embedding के स्तर का है। इस तरह व्यक्त होने वाले ‘thoughts’ की संभावनाएँ बेहद विशाल हैं। एक token को process करते समय भी हर layer लगभग 60 बार पिछले ‘thoughts’, attention, और FFN से सीखे गए data को मिलाती है। इसलिए यह पूरा सिस्टम जटिल काम कर पाता है, जैसे Bash को Python में बदलना या word problems हल करना। बेशक, यह उम्मीद नहीं करनी चाहिए कि यह 100% space-efficient होगा। अलग-अलग ‘strengths’ पर vectors को compose करते समय भी इसे अच्छा काम करना चाहिए, और training हमेशा अधिकतम efficient compression की ओर converge नहीं करती। फिर भी, अगर इस सैद्धांतिक सीमा को सिर्फ upper bound की तरह भी देखें, तो यह एक नया एहसास देती है कि ultra-high-dimensional vectors में व्यावहारिक रूप से ‘thought’ जैसी किसी भी चीज़ को ठूँसा जा सकता है

  • मेरी अंतर्दृष्टि इससे कहीं सरल है — अगर मान लें कि concepts किसी हद तक hierarchical structure बनाते हैं, तो 12000-आयामी स्पेस में कितने concepts आ सकते हैं, इसका मोटा हिसाब लगाया जा सकता है। अगर हर concept कम से कम एक axis पर बाकी सभी concepts से orthogonal है, तो इसका मतलब है कि भले cosine distance बहुत बड़ी न हो, फिर भी दो concepts को linearly separate करने वाला कोई function मौजूद होगा। इस स्थिति में सीमा पर 12,000! concepts तक संभव हैं, इसलिए लगभग किसी भी taxonomy के लिए यह स्पेस ज़रूरत से कहीं ज़्यादा है

    • 12,000! concepts को लागू करने के लिए हर concept के लिए dimensions का एक क्रम मैप करना पड़ेगा, लेकिन वास्तविक models में dimensions के क्रम का कोई अर्थ नहीं होता। यानी [weight_1, weight_2,...] और [weight_2, weight_1,...] मॉडल के भीतर पूरी तरह समान हैं। व्यवहार में language model को देखें तो प्रत्येक axis पर केवल positive, negative, या 0 — इन तीन स्थितियों में से एक मान लें, तो लगभग 3^12,000 concepts के स्तर की बात बनती है। वास्तव में ज़्यादातर vectors में कुछ दर्जन axes को छोड़कर बाकी लगभग सब 0 होते हैं (training time limits की वजह से)

    • वह संख्या पूरे ब्रह्मांड में परमाणुओं की संख्या (10^80) से भी बहुत बड़ी है (लगभग 10^43741)

    • “cosine distance बहुत बड़ी नहीं है” — यही बात पहले से एक निर्णायक सीमा दिखाती है

  • अगर आपने 20Questions खेला है, तो जानते होंगे कि अरबों concepts के लिए 1000 dimensions की भी ज़रूरत नहीं पड़ती। इतने बड़े vectors अरबों concepts से कहीं अधिक जटिल जानकारी भी रख सकते हैं। सच तो यह है कि एक पूरी कविता और उसमें typo कहाँ है, यह भी ऐसे vectors दर्शा और ढूँढ सकते हैं। जैसे जब आप GPT में कोई कविता पेस्ट करके typo की जगह पूछते हैं, तो कहीं न कहीं किसी internal layer में वह जानकारी ठोस रूप से अलग की गई होती है

    • वास्तव में वह साधारण vector नहीं, बल्कि पूरा model मिलकर करता है। पूरा model एक तरह के ट्रिलियन-आयामी vector की तरह व्यवहार करता है

    • अगर binary vector लें, तो 20 dimensions में 10 लाख से थोड़ा अधिक concepts दिखाए जा सकते हैं। 30 dimensions में यह 1 अरब concepts तक पहुँच जाता है

  • कई टिप्पणियों में उस लेख की अलग-अलग कमियाँ पहले ही बताई जा चुकी हैं, लेकिन मैं सिर्फ़ एक बहुत बुनियादी अवलोकन जोड़ना चाहता हूँ: 12k dimensions में 10^200 concepts रखने का दावा अपने आप में ही इतना बेतुका है कि गंभीरता से लेना मुश्किल है। यह सही है कि 12k vector space अनगिनत अलग-अलग मान रख सकता है, लेकिन उन सबको concept नहीं कहा जा सकता। ऐसा दावा निरर्थक है। Shannon भी शायद इस बिंदु पर यही कहना चाहते

  • मूल त्रुटि यह है कि वास्तविक दुनिया में व्यवहारिक अर्थ में अरबों concepts होते ही नहीं। मनुष्यों के ‘concepts’ और मशीन वाले ‘instances’ या ‘entities’ स्पष्ट रूप से अलग चीज़ें हैं। instances अनंत हो सकते हैं, लेकिन सोचने में काम आने वाले अमूर्त concepts की संख्या उससे बहुत सीमित होती है