码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 逆向工程:揭示Google Colab未公开的秘密


    c6748923fcec975cc166b390d48604f3.jpeg

    来源|Open Source Data Science Tools

    翻译|程浩源

    Google Colaboratory,简称 “Colab” ,是一个免费的Jupyter notebook云平台。Colab 不仅可以为用户提供 Python 和 R notebooks 的运行环境,而且还允许用户免费共享部分 GPU 和 TPU 资源。

    对于负责在 Jupyter Notebook 编程的数据科学家来说,Colab早已成为了默认的运行环境。然而,将 Colab 的算力运用到除 Jupter Notebooks 以外的其他应用,则是一件极其困难的事。

    对于那些想生产模型,并将其带出Notebook阶段的机器学习工程师而言,这样的问题尤为明显。虽然 Notebooks 非常适合用来探索,但将它与训练过程编入正式流水线的高级MLOps工具一起使用时,效果不佳。

    在遇到类似问题后,我决定不让 Colab 的局限性改变我的工作流程,而是尝试围绕我的工作流程去改变 Colab!

    出于这个原因,今天我们将探究 Google Colab 的内部结构,并尝试稍微改变 Colab 的内置规则。需要提前声明的是,我们只是想探究 Colab,不会对 Colab 本身或者它的用户造成任何影响。

    1

    揭开幕后的秘密

    Colab 的秘密在于它的后端:谷歌服务器为 Colab 提供基础设施支持,让用户可以轻松运行代码。因此,我们第一步先分析 Colab 的 API,最简单的方法是检查 Colab 在正常运行期间进行的 API 调用。

    首先打开谷歌开发者工具,找到网络(Network)选项,然后运行一段代码,开发者工具开始记录 Colab 发出的每个请求,然后我们发现了一些有趣的东西。

    41fa1f8b54985f18bbb3e2af24a83484.gif

    bc535d4be24ccb05a3978f59b4e6f9bc.png

    看上去这个URL(/tun/m//socket.io)是远程机器上运行的 Jupyter socket 的代理。

    如果我们从 Colab 界面的左窗格打开 Files 窗格(默认显示 /content 目录),就会发现另一个有趣的请求:

    56ab97fb7854a67fdc813896cdd9a9b4.gif

    2d032af35ffd6e86cfa7926c81d254d7.png

    这次 JSON 枚举远程主机上的文件做出了响应。这个URL(/tun/m//api/contents/)似乎指向提供文件元数据的服务。

    7664fb505fc3b6efb15a52b1d2560d69.png

  • 相关阅读:
    4-7:用Redis优化登陆模块
    Ubuntu系统下安装rpm安装包的方法
    CSS实现超链接标签:鼠标光标为手形、取消下划线、当鼠标悬停时显示下划线
    实证与虚无,抽象和具象,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang接口(interface)的使用EP08
    C专家编程 第9章 再论数组 9.3 为什么C语言把数组形参当做指针
    【数据结构与算法】之深入解析“并行课程II”的求解思路与算法示例
    基于 V2X 的车联网安全互信体系架构分析
    Flutter教程之为什么 Flutter 是创业的最佳选择?
    大数据Apache Druid(四):使用Imply进行Druid集群搭建
    20.1 OpenSSL 字符BASE64压缩算法
  • 原文地址:https://blog.csdn.net/OneFlow_Official/article/details/126535470
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号