OpenAI API PlatoBlockchain ডেটা ইন্টেলিজেন্সে টেক্সট এবং কোড এম্বেডিং চালু করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে

OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে

আমরা এম্বেডিং চালু করছি, OpenAI API-তে একটি নতুন এন্ডপয়েন্ট যা প্রাকৃতিক ভাষা এবং শব্দার্থিক অনুসন্ধান, ক্লাস্টারিং, টপিক মডেলিং এবং শ্রেণীবিভাগের মতো কোড কাজগুলিকে সহজ করে তোলে। এমবেডিং হল সংখ্যার ক্রমানুসারে রূপান্তরিত ধারণাগুলির সংখ্যাসূচক উপস্থাপনা, যা কম্পিউটারের জন্য সেই ধারণাগুলির মধ্যে সম্পর্ক বোঝা সহজ করে তোলে। কোড অনুসন্ধানে 3% আপেক্ষিক উন্নতি সহ আমাদের এম্বেডিংগুলি 20টি স্ট্যান্ডার্ড বেঞ্চমার্কে শীর্ষ মডেলগুলিকে ছাড়িয়ে যায়৷

ডকুমেন্টেশন পড়ুনকাগজ পড়ুন

এম্বেডিংগুলি প্রাকৃতিক ভাষা এবং কোডের সাথে কাজ করার জন্য দরকারী, কারণ সেগুলি সহজেই ব্যবহার করা যেতে পারে এবং অন্যান্য মেশিন লার্নিং মডেল এবং ক্লাস্টারিং বা অনুসন্ধানের মতো অ্যালগরিদমের সাথে তুলনা করা যেতে পারে।

OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে

সাংখ্যিকভাবে অনুরূপ এমবেডিংগুলিও শব্দার্থগতভাবে একই রকম। উদাহরণ স্বরূপ, "ক্যানাইন সঙ্গীরা বলে" এর এমবেডিং ভেক্টর "মেও" এর চেয়ে "উফ" এর এমবেডিং ভেক্টরের সাথে বেশি মিল থাকবে।

OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে
OpenAI API-তে পাঠ্য এবং কোড এম্বেডিং প্রবর্তন করা হচ্ছে

নতুন এন্ডপয়েন্ট নিউরাল নেটওয়ার্ক মডেল ব্যবহার করে, যেগুলি GPT-3-এর বংশধর, একটি ভেক্টর প্রতিনিধিত্বে পাঠ্য এবং কোড ম্যাপ করতে-এগুলিকে একটি উচ্চ-মাত্রিক স্থানে "এম্বেড করা"৷ প্রতিটি মাত্রা ইনপুটের কিছু দিক ক্যাপচার করে।

নতুন /এম্বেডিং মধ্যে শেষ বিন্দু ওপেনএআইআই কোডের কয়েকটি লাইন সহ পাঠ্য এবং কোড এম্বেডিং প্রদান করে:

import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")

আমরা এমবেডিং মডেলের তিনটি পরিবার প্রকাশ করছি, প্রতিটিতে বিভিন্ন কার্যকারিতা ভালো করার জন্য টিউন করা হয়েছে: পাঠ্যের মিল, পাঠ্য অনুসন্ধান এবং কোড অনুসন্ধান। মডেলগুলি ইনপুট হিসাবে পাঠ্য বা কোড গ্রহণ করে এবং একটি এমবেডিং ভেক্টর প্রদান করে।

মডেল ব্যবহারের ক্ষেত্রে
পাঠ্যের মিল: টেক্সট টুকরা মধ্যে শব্দার্থিক মিল ক্যাপচার. পাঠ্য-সাদৃশ্য-{ada, babbage, curie, davinci}-001 ক্লাস্টারিং, রিগ্রেশন, অসঙ্গতি সনাক্তকরণ, ভিজ্যুয়ালাইজেশন
টেক্সট অনুসন্ধান: নথি উপর শব্দার্থিক তথ্য পুনরুদ্ধার. টেক্সট-সার্চ-{ada, babbage, curie, davinci}-{query, doc}-001 অনুসন্ধান, প্রসঙ্গ প্রাসঙ্গিকতা, তথ্য পুনরুদ্ধার
কোড অনুসন্ধান: প্রাকৃতিক ভাষায় একটি প্রশ্নের সাথে প্রাসঙ্গিক কোড খুঁজুন। কোড-সার্চ-{ada, babbage}-{code, text}-001 কোড অনুসন্ধান এবং প্রাসঙ্গিকতা

পাঠ্যের সাদৃশ্য মডেল

পাঠ্যের সাদৃশ্য মডেলগুলি এমবেডিং প্রদান করে যা পাঠ্যের টুকরোগুলির শব্দার্থগত সাদৃশ্যকে ক্যাপচার করে। এই মডেলগুলি সহ অনেক কাজের জন্য দরকারী থলোথলো, ডেটা ভিজ্যুয়ালাইজেশন, এবং শ্রেণীবিন্যাস.

নিম্নলিখিত ইন্টারেক্টিভ ভিজ্যুয়ালাইজেশন DBpedia ডেটাসেট থেকে পাঠ্য নমুনার এমবেডিং দেখায়:

প্যান করতে টেনে আনুন, স্ক্রোল করুন বা জুম করতে চিমটি করুন

থেকে এমবেডিং text-similarity-babbage-001 মডেল, প্রয়োগ ডিবিপিডিয়া ডেটাসেট আমরা এলোমেলোভাবে 100টি বিভাগ কভার করে ডেটাসেট থেকে 5টি নমুনা নির্বাচন করেছি এবং এর মাধ্যমে এম্বেডিংগুলি গণনা করেছি /এম্বেডিং শেষপ্রান্ত. বিভিন্ন বিভাগ এমবেডিং স্পেসে 5টি পরিষ্কার ক্লাস্টার হিসাবে দেখায়। এমবেডিং স্পেস কল্পনা করতে, আমরা ব্যবহার করে এমবেডিং ডাইমেনশ্যালিটি 2048 থেকে কমিয়ে 3 করেছি পিসিএ. 3D ডাইমেনশনে এমবেডিং স্পেস কীভাবে কল্পনা করা যায় তার কোড উপলব্ধ এখানে.

দুই টুকরো টেক্সটের মিল তুলনা করতে, আপনি কেবল ব্যবহার করুন বিন্দু পণ্য টেক্সট এম্বেডিং এর উপর। ফলাফল একটি "সাদৃশ্য স্কোর", কখনও কখনও বলা হয় "কোসাইন মিল,” -1 এবং 1-এর মধ্যে, যেখানে একটি উচ্চ সংখ্যা মানে আরও সাদৃশ্য৷ বেশিরভাগ অ্যাপ্লিকেশনে, এম্বেডিংগুলি প্রাক-গণনা করা যেতে পারে, এবং তারপরে ডট পণ্য তুলনা করা অত্যন্ত দ্রুত।

import openai, numpy as np resp = openai.Embedding.create( input=["feline friends go", "meow"], engine="text-similarity-davinci-001") embedding_a = resp['data'][0]['embedding']
embedding_b = resp['data'][1]['embedding'] similarity_score = np.dot(embedding_a, embedding_b)

এমবেডিংয়ের একটি জনপ্রিয় ব্যবহার হল এগুলিকে মেশিন লার্নিং কাজের বৈশিষ্ট্য হিসাবে ব্যবহার করা, যেমন শ্রেণিবিন্যাস। মেশিন লার্নিং সাহিত্যে, লিনিয়ার ক্লাসিফায়ার ব্যবহার করার সময়, এই শ্রেণীবিভাগের কাজটিকে "লিনিয়ার প্রোব" বলা হয়। আমাদের টেক্সট সাদৃশ্য মডেলগুলি লিনিয়ার প্রোবের শ্রেণীবিভাগে নতুন অত্যাধুনিক ফলাফল অর্জন করে সেন্টইভাল (Conneau et al., 2018), এম্বেডিং গুণমান মূল্যায়নের জন্য একটি সাধারণভাবে ব্যবহৃত বেঞ্চমার্ক।

7টি ডেটাসেটের উপর লিনিয়ার প্রোবের শ্রেণীবিভাগ
পূর্ববর্তী SOTA (গাও এট আল। 2021)
90.2%
পাঠ্য-সাদৃশ্য-ডেভিন্সি-001
92.2%
আরও দেখাও

পাঠ্য অনুসন্ধান মডেল

পাঠ্য অনুসন্ধান মডেলগুলি এমবেডিংগুলি প্রদান করে যা বৃহৎ-স্কেল অনুসন্ধান কাজগুলিকে সক্ষম করে, যেমন একটি পাঠ্য কোয়েরি প্রদত্ত নথির সংগ্রহের মধ্যে একটি প্রাসঙ্গিক নথি খুঁজে পাওয়া। নথি এবং ক্যোয়ারী জন্য এমবেডিং আলাদাভাবে উত্পাদিত হয়, এবং তারপর কোসাইন সাদৃশ্য ব্যবহার করা হয় ক্যোয়ারী এবং প্রতিটি নথির মধ্যে মিল তুলনা করতে।

এম্বেডিং-ভিত্তিক অনুসন্ধান ক্লাসিক্যাল কীওয়ার্ড অনুসন্ধানে ব্যবহৃত শব্দ ওভারল্যাপ কৌশলগুলির চেয়ে ভাল সাধারণীকরণ করতে পারে, কারণ এটি পাঠ্যের শব্দার্থগত অর্থ ক্যাপচার করে এবং সঠিক বাক্যাংশ বা শব্দগুলির প্রতি কম সংবেদনশীল। আমরা টেক্সট অনুসন্ধান মডেলের কর্মক্ষমতা মূল্যায়ন বিইআর (ঠাকুর, প্রমুখ। 2021) অনুসন্ধান মূল্যায়ন স্যুট এবং পূর্ববর্তী পদ্ধতির তুলনায় ভাল অনুসন্ধান কর্মক্ষমতা প্রাপ্ত. আমাদের পাঠ্য অনুসন্ধান গাইড অনুসন্ধান কাজের জন্য এমবেডিং ব্যবহার করার বিষয়ে আরও বিশদ প্রদান করে।

কোড অনুসন্ধান মডেল

কোড অনুসন্ধান মডেলগুলি কোড অনুসন্ধান কাজের জন্য কোড এবং পাঠ্য এম্বেডিং প্রদান করে। কোড ব্লকের একটি সংগ্রহ দেওয়া হয়েছে, কাজটি হল একটি প্রাকৃতিক ভাষা প্রশ্নের জন্য প্রাসঙ্গিক কোড ব্লক খুঁজে বের করা। আমরা কোড অনুসন্ধান মডেল মূল্যায়ন কোডসার্চনেট (হুসিয়ান এট আল।, 2019) মূল্যায়ন স্যুট যেখানে আমাদের এম্বেডিং পূর্ববর্তী পদ্ধতির তুলনায় উল্লেখযোগ্যভাবে ভালো ফলাফল অর্জন করে। চেক আউট কোড অনুসন্ধান গাইড কোড অনুসন্ধানের জন্য এম্বেডিং ব্যবহার করতে।

6টির বেশি প্রোগ্রামিং ভাষার গড় নির্ভুলতা
পূর্ববর্তী SOTA (গুও, এট আল। 2021)
77.4%
কোড-সার্চ-ব্যাবেজ-{ডক, প্রশ্ন}-001
93.5%
আরও দেখাও

এম্বেডিং এপিআই ইন অ্যাকশনের উদাহরণ

JetBrains গবেষণা

JetBrains গবেষণার অ্যাস্ট্রোপার্টিকেল ফিজিক্স ল্যাব মত ডেটা বিশ্লেষণ করে জ্যোতির্বিজ্ঞানীর টেলিগ্রাম এবং নাসার GCN সার্কুলার, যা এমন প্রতিবেদন যা জ্যোতির্বিদ্যা সংক্রান্ত ঘটনা ধারণ করে যা ঐতিহ্যগত অ্যালগরিদম দ্বারা পার্স করা যায় না।

ওপেনএআই-এর এই জ্যোতির্বিদ্যা সংক্রান্ত প্রতিবেদনের এম্বেডিং দ্বারা চালিত, গবেষকরা এখন একাধিক ডেটাবেস এবং প্রকাশনা জুড়ে "কাঁকড়া পালসার বিস্ফোরণ" এর মতো ঘটনাগুলি অনুসন্ধান করতে সক্ষম৷ এম্বেডিংগুলি কে-মিন ক্লাস্টারিংয়ের মাধ্যমে ডেটা উত্স শ্রেণিবিন্যাসে 99.85% নির্ভুলতা অর্জন করেছে।

ফাইনটিউন লার্নিং

ফাইনটিউন লার্নিং একটি কোম্পানী যা শেখার জন্য হাইব্রিড মানব-এআই সলিউশন তৈরি করছে, যেমন অভিযোজিত শেখার লুপ যা ছাত্রদের একাডেমিক মান পৌঁছাতে সাহায্য করে।

ওপেনএআই-এর এম্বেডিংগুলি শিক্ষার উদ্দেশ্যের উপর ভিত্তি করে পাঠ্যপুস্তকের বিষয়বস্তু খোঁজার কাজকে উল্লেখযোগ্যভাবে উন্নত করেছে। 5% এর শীর্ষ-89.1 নির্ভুলতা অর্জন করে, OpenAI-এর টেক্সট-সার্চ-কিউরি এম্বেডিং মডেল Sentence-BERT (64.5%) এর মত পূর্ববর্তী পদ্ধতিকে ছাড়িয়ে গেছে। যদিও মানব বিশেষজ্ঞরা এখনও ভাল, FineTune টিম এখন বিশেষজ্ঞদের যত ঘন্টা সময় নেয় তার বিপরীতে কয়েক সেকেন্ডের মধ্যে পুরো পাঠ্যপুস্তককে লেবেল করতে সক্ষম।

বাক্য-BERT-এর সাথে আমাদের এম্বেডিংয়ের তুলনা, GPT-3 অনুসন্ধান এবং পাঠ্যপুস্তকের বিষয়বস্তুকে শেখা উদ্দেশ্যের সাথে মেলানোর জন্য মানব বিষয়-বিষয় বিশেষজ্ঞ। আমরা প্রতিবেদন করি accuracy@k, টপ-কে ভবিষ্যদ্বাণীর মধ্যে সঠিক উত্তরের সংখ্যা।

ফ্যাবিয়াস

ফ্যাবিয়াস কোম্পানিগুলিকে গ্রাহকের কথোপকথনগুলিকে কাঠামোগত অন্তর্দৃষ্টিতে পরিণত করতে সাহায্য করে যা পরিকল্পনা এবং অগ্রাধিকার প্রদান করে। OpenAI এর এম্বেডিংগুলি কোম্পানিগুলিকে আরও সহজে খুঁজে পেতে এবং বৈশিষ্ট্যের অনুরোধ সহ গ্রাহক কল ট্রান্সক্রিপ্ট ট্যাগ করতে দেয়৷

উদাহরণস্বরূপ, গ্রাহকরা একটি ভাল স্ব-পরিষেবা প্ল্যাটফর্মের জন্য জিজ্ঞাসা করতে "স্বয়ংক্রিয়" বা "ব্যবহার করা সহজ" এর মতো শব্দ ব্যবহার করতে পারে। পূর্বে, ফ্যাবিয়াস স্ব-পরিষেবা প্ল্যাটফর্ম লেবেলের সাথে সেই প্রতিলিপিগুলিকে ট্যাগ করার চেষ্টা করতে অস্পষ্ট কীওয়ার্ড অনুসন্ধান ব্যবহার করছিলেন। OpenAI-এর এম্বেডিংয়ের সাহায্যে, তারা এখন সাধারণভাবে 2x বেশি উদাহরণ খুঁজে পেতে সক্ষম, এবং বিমূর্ত ব্যবহারের ক্ষেত্রে এমন বৈশিষ্ট্যগুলির জন্য 6x–10x আরও উদাহরণ খুঁজে পেতে পারে যা গ্রাহকরা ব্যবহার করতে পারে এমন একটি স্পষ্ট কীওয়ার্ড নেই।

সমস্ত API গ্রাহকরা এর সাথে শুরু করতে পারেন৷ এমবেডিং ডকুমেন্টেশন তাদের অ্যাপ্লিকেশনে এম্বেডিং ব্যবহার করার জন্য।

ডকুমেন্টেশন পড়ুন


স্বীকার

এই প্রকাশে তাদের অবদানের জন্য নিম্নলিখিতকে ধন্যবাদ:

তাও জু, ক্রিস হ্যালাসি, রাউল পুরি, অ্যালেক র‌্যাডফোর্ড, জেসি মাইকেল হান, জেরি টোরেক, কিমিং ইউয়ান, নিকোলাস তেজাক, জং উক কিম, জোহানেস হেইডেকে, প্রণব শ্যাম, টাইনা ইলাউন্ডু নেকোল, গিরিশ সাস্ত্রি, গ্রেচেন ক্রুগার, ডেভিড পেট্রোস্কি যেমন, কেনি হু, ম্যাডেলিন থম্পসন, তাবারক খান এবং টোকি শেরবাকভ।

এই পোস্টে তাদের প্রতিক্রিয়ার জন্য নিম্নলিখিতকে ধন্যবাদ: টম ক্লিনপিটার, মরগান গ্যালান্ট, স্যাম অল্টম্যান, ইলিয়া সুটস্কেভার, স্টিভ ডাউলিং, রাচেল লিম, অরুণ বিজয়ভার্জিয়া, রাজীব নায়ক, পিটার ওয়েলিন্ডার, জাস্টিন জে ওয়াং।

.ভেক্টর-ডায়াগ্রাম img { প্রদর্শন: কিছুই নয়;
}
.ভেক্টর-ডায়াগ্রাম img:first-child { প্রদর্শন: ব্লক;
}

var printResponse = ফাংশন (btn) { // প্রতিক্রিয়া যোগ করুন var responseEl = নথি .querySelector('.endpoint-code-response') .querySelector('code') var callParentEl = নথি .querySelector('.endpoint-code-call' ) .querySelector('pre') যদি (!responseEl || !callParentEl) ফিরে আসে; callParentEl.appendChild(responseEl); // লুকান বোতাম btn.style.display= 'কিছুই নয়';
}; var initRotate = ফাংশন () { var rotates = document.querySelectorAll('.js-rotate'); যদি (!rotates.length) ফিরে আসে; // রোটেটের প্রতিটি সেটের জন্য rotates.forEach(function (r) { // প্রথম সন্তানকে প্রতি n সেকেন্ডে শেষ করতে সরান window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500); }) ;
};
var moveToEnd = ফাংশন (পিতামাতা, শিশু) { parent.removeChild(child); parent.appendChild(শিশু); // পিতামাতার সাথে যুক্ত করুন
}; var initShowMore = ফাংশন () { var showmores = document.querySelectorAll('.js-showmore'); showmores.forEach(function (e) { e.addEventListener('click', function () { var showmoreparent = this.parentElement; যদি (!showmoreparent) রিটার্ন; var more = showmoreparent.querySelector('.js-more'); যদি (!আরো) ফেরত আসে; more.style.display = 'block'; this.style.display = 'কোনোটি' নয়; }); });
}; // এটা
document.addEventListener('DOMContentLoaded', ফাংশন () { initRotate(); initShowMore();
});
"https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js" থেকে {রানটাইম, ইন্সপেক্টর, লাইব্রেরি} আমদানি করুন;
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
"https://api.observablehq.com/d/fef3cb0801a0b0.js?v=322" থেকে notebook_embed3d আমদানি করুন const customWidth = ফাংশন (নির্বাচক) { রিটার্ন (নতুন লাইব্রেরি)। Generators.observe(function(change) { var width = change(document.querySelector(selectector).clientWidth); ফাংশন resized() { var w = document.querySelector(selectector).clientWidth; if (w !== width) change(width = w); } window.addEventListener(“ resize”, resized); রিটার্ন ফাংশন() { window.removeEventListener(“resize”, resized); }; });
}; const topk_renders = { "চার্ট": "#topk-চার্ট",
};
নতুন রানটাইম(Object.assign(new Library, {width: customWidth("#topk-chart")})).module(notebook_topk, name => { const selector = topk_renders[name]; if (selectector) {// key রিটার্ন নতুন ইন্সপেক্টর(document.querySelector(selectector)) বিদ্যমান আছে; } অন্যথায় {সত্য ফেরত দিন; }
}); const embed3d_renders = { "চার্ট": "#embed3d-চার্ট", ​​"লেজেন্ড": "#এম্বেড3ডি-লেজেন্ড",
};
নতুন রানটাইম(Object.assign(new Library, {width: customWidth("#embed3d-chart")})).module(notebook_embed3d, name => { const selector = embed3d_renders[name]; if (নির্বাচক) {// key রিটার্ন নতুন ইন্সপেক্টর(document.querySelector(selectector)) বিদ্যমান আছে; } অন্যথায় {সত্য ফেরত দিন; }
});

সময় স্ট্যাম্প:

থেকে আরো OpenAI