جستجوی AI و روندهای ابری: رشد Azure و OpenAI کند می شود، رشد آمازون در ژوئن به اوج خود رسید


نویسنده(ها): جاناتان بنیون

در ابتدا منتشر شد به سمت هوش مصنوعی.

کاهش تبلیغات هوش مصنوعی برای پرس و جو از استفاده واقعی توسعه دهندگان (به عنوان مخازن جدید، بنابراین با پیش فرض ها) برای اولویت بندی ابزارهای ایمنی و مشارکت.

TLDR (با هشدارهایی که در زیر ذکر شده است):

  • مخازن عمومی هوش مصنوعی اکنون به صورت رشد خطی ظاهر می شوند، نه نمایی (افزایش در مارس 2024 و به دنبال آن کاهش سریع، اکنون کندتر اما ثابت است).
  • تسلط مخزن عمومی Azure/OpenAI: Azure هر ماه 20 برابر بیشتر مخزن های جدید را نسبت به هایپراسکیلر پیشرو بعدی نشان می دهد و استفاده از OpenAI نیز غالب است.
  • رشد مخازن عمومی Amazon Bedrock ممکن است در ژوئن 2024 به اوج خود رسیده باشد (تا آن زمان کمی نمایی).
تصویر ایجاد شده توسط نویسنده از کد زیر

مقدمه – چه چیزی را پرس و جو کردم؟

من از داده های ایجاد مخزن GitHub برای تجزیه و تحلیل روند پذیرش در هوش مصنوعی و پذیرش رایانش ابری استفاده کردم. کد زیر، تجزیه و تحلیل زیر است.

توجه به هشدارها:

علی‌رغم تعصب و محدودیت‌های آشکار (بسته‌های عمومی و مخازن عمومی که فقط نام این بسته‌ها را شامل می‌شوند)، این روش دیدگاه منحصربه‌فردی را برای پذیرش توسعه‌دهنده ارائه می‌دهد. Google Cloud و/یا مایکروسافت قبلاً جستجوی کد در صفحات را فعال می‌کردند، که می‌توانست تعداد بیانیه‌های وارداتی متمایز را فعال کند، اما اخیراً این غیرفعال شد، بنابراین فقط نام‌های مخزن را به‌عنوان قابل پرس‌وجو باقی گذاشتند.

در حالی که ناقص است، نگاه کردن به ایجاد مخزن، داده های کافی برای به چالش کشیدن روایت های رایج بازار را فراهم می کند.

ابتدا تنظیمات نوت بوک:

استفاده از Google Cloud Platform (GCP) و BigQuery فقط برای دسترسی و پرس و جو به آرشیو داده های GitHub امکان پذیر است، بنابراین این بسته ها را نصب کنید (در ابتدا از colab استفاده می شد، اکنون در github پارک شده است).

# Install packages 
!pip install -q pandas seaborn matplotlib google-cloud-bigquery

# Imports
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from google.cloud import bigquery
from google.oauth2 import service_account

پرس و جو از GCP خارج از BigQuery:

SQL زیر داده‌های مربوطه را با دسته‌بندی مخازن مربوط به فناوری‌های هوش مصنوعی و ابری خاص استخراج می‌کند، سپس تعداد ایجاد مخزن را بر اساس ماه ایجاد جمع می‌کند.

بستگی به بررسی دستی نام بسته پایتون مناسب دارد.

query = """
WITH ai_repos AS (
SELECT
repo.name AS repo_name,
EXTRACT(DATE FROM created_at) AS creation_date,
CASE
WHEN LOWER(repo.name) LIKE '%bedrock%' THEN 'bedrock'
WHEN LOWER(repo.name) LIKE '%vertex%' THEN 'vertex'
WHEN LOWER(repo.name) LIKE '%openai%' THEN 'openai'
WHEN LOWER(repo.name) LIKE '%anthropic%' THEN 'anthropic'
WHEN LOWER(repo.name) LIKE '%langchain%' THEN 'langchain'
WHEN LOWER(repo.name) LIKE '%azure%' THEN 'azure'
WHEN LOWER(repo.name) LIKE '%llamaindex%' THEN 'llamaindex'
WHEN LOWER(repo.name) LIKE '%neo4j%' THEN 'neo4j'
WHEN LOWER(repo.name) LIKE '%pymongo%' THEN 'pymongo'
WHEN LOWER(repo.name) LIKE '%elasticsearch%' THEN 'elasticsearch'
WHEN LOWER(repo.name) LIKE '%boto3%' THEN 'boto3'
WHEN LOWER(repo.name) LIKE '%ayx%' THEN 'ayx'
WHEN LOWER(repo.name) LIKE '%snowflake-connector-python%' THEN 'snowflake'
WHEN LOWER(repo.name) LIKE '%c3-toolset%' THEN 'c3ai'
WHEN LOWER(repo.name) LIKE '%dataiku-api-client%' THEN 'dataiku'
WHEN LOWER(repo.name) LIKE '%salesforce-einstein-vision-python%' THEN 'salesforce_einstein'
WHEN LOWER(repo.name) LIKE '%qlik-py-tools%' THEN 'qlik'
WHEN LOWER(repo.name) LIKE '%palantir-foundry-client%' THEN 'palantir_foundry'
WHEN LOWER(repo.name) LIKE '%cuda-python%' THEN 'nvidia_cuda'
WHEN LOWER(repo.name) LIKE '%openvino%' THEN 'intel_openvino'
WHEN LOWER(repo.name) LIKE '%clarifai%' THEN 'clarifai'
WHEN LOWER(repo.name) LIKE '%twilio%' THEN 'twilio'
WHEN LOWER(repo.name) LIKE '%oracleai%' THEN 'oracle_ai'
ELSE 'other'
END AS keyword_category
FROM
`githubarchive.day.20*`
WHERE
_TABLE_SUFFIX >= '240101'
AND _TABLE_SUFFIX NOT LIKE '%view%'
AND type = 'CreateEvent'
AND repo.name IS NOT NULL
AND (
LOWER(repo.name) LIKE '%bedrock%'
OR LOWER(repo.name) LIKE '%vertex%'
OR LOWER(repo.name) LIKE '%openai%'
OR LOWER(repo.name) LIKE '%anthropic%'
OR LOWER(repo.name) LIKE '%langchain%'
OR LOWER(repo.name) LIKE '%azure%'
OR LOWER(repo.name) LIKE '%llamaindex%'
OR LOWER(repo.name) LIKE '%neo4j%'
OR LOWER(repo.name) LIKE '%pymongo%'
OR LOWER(repo.name) LIKE '%elasticsearch%'
OR LOWER(repo.name) LIKE '%boto3%'
OR LOWER(repo.name) LIKE '%ayx%'
OR LOWER(repo.name) LIKE '%snowflake-connector-python%'
OR LOWER(repo.name) LIKE '%c3-toolset%'
OR LOWER(repo.name) LIKE '%dataiku-api-client%'
OR LOWER(repo.name) LIKE '%salesforce-einstein-vision-python%'
OR LOWER(repo.name) LIKE '%qlik-py-tools%'
OR LOWER(repo.name) LIKE '%palantir-foundry-client%'
OR LOWER(repo.name) LIKE '%cuda-python%'
OR LOWER(repo.name) LIKE '%openvino%'
OR LOWER(repo.name) LIKE '%clarifai%'
OR LOWER(repo.name) LIKE '%twilio%'
OR LOWER(repo.name) LIKE '%oracleai%'
)
)

SELECT
FORMAT_DATE('%Y-%m', creation_date) AS month,
keyword_category,
COUNT(DISTINCT repo_name) AS new_repo_count
FROM
ai_repos
GROUP BY
month, keyword_category
ORDER BY
month, keyword_category
"""

سپس استخراج، بارگذاری، تبدیل و غیره.

فقط یک جدول محوری با فرمت مناسب ایجاد کردم..

# Query output to DF, create pivot
df = client.query(query).to_dataframe()
df['month'] = pd.to_datetime(df['month'])
df_pivot = df.pivot(index='month', columns='keyword_category', values='new_repo_count')
df_pivot.sort_index(inplace=True)

# Remove the current month to preserve data trend by month
df_pivot = df_pivot.iloc[:-1]

سپس داده ها را رسم کرد:

اولین باری که این را امتحان کردم، مجبور شدم Azure را به یک محور ثانویه پرتاب کنم زیرا 20 برابر بیشتر از مخزن بعدی بود.

# Define color palette
colors = sns.color_palette("husl", n_colors=len(df_pivot.columns))

# Create plot
fig, ax1 = plt.subplots(figsize=(16, 10))
ax2 = ax1.twinx()

lines1 = []
labels1 = []
lines2 = []
labels2 = []

# Plot each keyword as a line, excluding 'azure' for separate axis
for keyword, color in zip([col for col in df_pivot.columns if col != 'azure'], colors):
line, = ax1.plot(df_pivot.index, df_pivot, linewidth=2.5, color=color, label=keyword)
lines1.append(line)
labels1.append(keyword)

# Plot 'azure' on the secondary axis
if 'azure' in df_pivot.columns:
line, = ax2.plot(df_pivot.index, df_pivot['azure'], linewidth=2.5, color='red', label='azure')
lines2.append(line)
labels2.append('azure')

# Customize the plot
ax1.set_title("GitHub Repository Creation Trends by AI Keyword", fontsize=24, fontweight='bold', pad=20)
ax1.set_xlabel("Repo Creation Month", fontsize=18, labelpad=15)
ax1.set_ylabel("New Repository Count (Non-Azure)", fontsize=18, labelpad=15)
ax2.set_ylabel("New Repository Count (Azure)", fontsize=18, labelpad=15)

# Format x-axis to show dates nicely
ax1.xaxis.set_major_formatter(DateFormatter("%Y-%m"))
plt.setp(ax1.xaxis.get_majorticklabels(), rotation=45, ha='right')

# Adjust tick label font sizes
ax1.tick_params(axis='both', which='major', labelsize=14)
ax2.tick_params(axis='both', which='major', labelsize=14)

# Adjust layout
plt.tight_layout()

# Create a single legend for both axes
fig.legend(lines1 + lines2, labels1 + labels2, loc='center left', bbox_to_anchor=(1.05, 0.5), fontsize=12)

# Adjust subplot parameters to give specified padding
plt.subplots_adjust(right=0.85)

نتایج جالب بود – از آنجایی که هر ماه نشان می دهد مخازن جدید ایجاد می شود، Azure تا مارس 2024 تصاعدی بود، سپس به سرعت کاهش یافت – اکنون از می 2024 رشد خطی دارد.

تصویر ایجاد شده توسط نویسنده از کد بالا

برای وضوح در حرکات کوچکتر، داده ها را دوباره ترسیم کرد:

با حذف 3 مخزن برتر، دیدن مقیاس آسان تر است – Amazon Bedrock به وضوح پذیرش پایدارتری را نشان می دهد اما به نظر می رسد در ژوئن 2024 به اوج خود می رسد. توجه داشته باشید که برخی از بسته ها برای نشان دادن پذیرش نیستند، زیرا این بسته ها بسته های عمومی هستند (مانند Snowflake، Nvidia CUDA و مخازن عمومی.

# Isolate the top 3 to remove
top_3 = df_pivot.mean().nlargest(3).index
df_pivot_filtered = df_pivot.drop(columns=top_3)

fig, ax = plt.subplots(figsize=(16, 10))

for keyword, color in zip(df_pivot_filtered.columns, colors[:len(df_pivot_filtered.columns)]):
ax.plot(df_pivot_filtered.index, df_pivot_filtered, linewidth=2.5, color=color, label=keyword)

ax.set_title("GitHub Repository Creation Trends by AI Keyword (Excluding Top 3 Packages)", fontsize=24, fontweight='bold', pad=20)
ax.set_xlabel("Repo Creation Month", fontsize=18, labelpad=15)
ax.set_ylabel("New Repository Count", fontsize=18, labelpad=15)

ax.xaxis.set_major_formatter(DateFormatter("%Y-%m"))
plt.setp(ax.xaxis.get_majorticklabels(), rotation=45, ha='right')

ax.tick_params(axis='both', which='major', labelsize=14)

# Adjust layout
plt.tight_layout()

# Place legend outside the plot
ax.legend(loc='center left', bbox_to_anchor=(1.05, 0.5), fontsize=12)

# Adjust subplot parameters to give specified padding
plt.subplots_adjust(right=0.85)
plt.show()

تصویر ایجاد شده توسط نویسنده از کد بالا

غذای آماده:

  • اختلاف بسیار زیادی بین بسته‌های کوچکتر و بسته‌های «Big Tech» وجود دارد.
  • Azure و OpenAI غالب هستند اما رشد کند شده است.
  • آمازون ممکن است در ژوئن 2024 به اوج خود رسیده باشد.

بیشتر در آینده، با بخش های بیشتری از این تحلیل همراه باشید (برای به روز رسانی های بیشتر من را دنبال کنید)

FYI دیتافریم در زیر آمده است و نشان می دهد که نام بسته های آشکار ممکن است منعکس کننده کل استفاده از ابزار نباشد (مثلاً Nvidia، Snowflake) – توجه داشته باشید (دوباره) به تعصبات و اخطارهای فراوان (یک مخزن ممکن است حاوی x اسکریپت و غیره باشد)، بنابراین فرض می شود مخزن جدید (و عمومی) رشد است.

تصویر ایجاد شده توسط نویسنده از df برای رسم نمودارهای بالا (داده های خام).

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/machine-learning/querying-ai-and-cloud-trends-azure-and-openai-growth-slows-amazon-growth-peaked-in-june

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *