华少的博客

谁的头顶上没有灰尘,谁的肩上没有过齿痕

0%

前言

在当今快速发展的人工智能领域,构建高效、可扩展的机器学习模型是至关重要的。随着云计算平台的普及和分布式计算框架的发展,企业智能应用开发者越来越多地将注意力集中在如何利用这些技术来提高机器学习模型的开发效率和性能。

现如今,云计算平台提供了很多端到端的功能和基础设施管理,以帮助企业在机器学习开发流程中实现合规性、风险控制以及成本监控等,使开发者更加关注模型研发以提升整体效率。比如AWS 的Sagemaker,Azure的Machine Learning Studio和GCP的AI Platform等,而Databircks 提供可以基于多云基础设施的统一Data & AI 工具平台。

而新兴的开源通用分布式计算框架Ray 也在不断演进,它在统一底层框架的基础上提供了丰富的AI库。我们可以轻松的使用该上层库在任何机器或者云平台上构建机器学习开发流程。

在本文中,我将介绍分布式计算框架Ray 在Databricks平台上进行机器学习模型开发的项目实践。

阅读全文 »

前言

据 OpenAI 的公开资料显示,近年爆火的 ChatGPT,是基于 Ray 进行的包括预训练、Fine Tune、强化学习等 ChatGPT 的训练。那让我们来聊聊Ray 这个框架吧。

背景

实际上,在2015年秋天,UC.Berkeley的 Ion Stoica教授给研究生讲系统课时,Robert和Philip 两个机器学习的学生正在做一个关于数据并行机器学习的训练,最初使用了Spark,并进行了修改叫做SparkNet,后来发现Spark 太死板,在做强化学习时,需要的计算模型非常复杂,有嵌套并行的内容发现Spark 并不擅长。于是他们研发了分布式执行引擎Ray ,主要面向未来交互式的AI,提供任务并行和高速的任务调度,并在2017年发表了论文《Ray: A Distributed Framework for Emerging AI Applications》。不同于Spark 这样的BSP 计算引擎,同一stage内的任务无法相互通信,而Ray 更加底层,更加灵活,一个任务可以启动其他任务或启动actor,它们可以相互通信,还实现了全局控制状态和调度器。

基于Ray 这项开源工作,在2019年12月,该论文的一作、二作和Ion Stoica 教授以及Michael.Jordan 教授创立了Anyscale,提供托管Ray 的服务。值得注意的是,Ion Stoica教授也是Databricks(托管Spark)的原CEO。

如今,Ray 社区非常活跃,github上已经有29.3k ⭐️,很多大厂如国外的OpenAI、Uber、Shopify等,国内的有蚂蚁集团、字节等都在生产环境广泛使用。Ray峰会Ray Summit参加的人数也越来越多,更多的公司采用Ray 作为分布式计算的框架。

阅读全文 »

前言

本文从企业建设大数据平台背景出发,介绍DataOps 概念目标和体系化实践建议,给企业大数据平台建设和优化提供一些借鉴。

背景

近年来,数据平台在企业数字化转型过程起着越来越重要的作用,给企业的战略分析和业务推动带来强有力的数据支撑,可以快速、高质量地提供数据服务,从而实现数据价值。

然而随着企业对数据集成和分析的需求不断增长,数据源种类多,数据工具和架构复杂,对数据平台的能力要求也越来越高。

阅读全文 »

前言

上文介绍了大数据平台资源权限管理框架Ranger 的原理和企业权限管理实践,然而企业大数据平台的权限管理应该包含这个数据开发、运维链路,尤其是在平台多租户使用的场景下,需要格外注意是否有权限管控不当问题。本文将结合CDP(Cloudera Private Platform) 平台组件,介绍平台大数据开发、运维链路上的权限管控实践。

多租户场景需求

在CDP 大数据平台上,有多个团队使用不同的组件,如IT 运维使用Cloudera Manager 管理大数据集群、使用Ranger 管理资源权限,多个团队使用Hue 进行ETL 任务开发和数据分析,使用Atlas 管理数据资产等。上篇中提到企业使用集中式的员工账号管理(Microsoft Active Directory),其内建Kerberos 支持,而Kerberos 也是Hadoop 生态系统中应用最广泛的用户认证管理框架。

阅读全文 »

前言

近年来,越来越多的企业享受大数据平台实施带来的数据价值,也期望接入更多的企业数据及开放不同业务域的数据给不同的用户。因此,在大数据平台构建过程中,需实现完整的权限管理流程,给正确的用户以访问正确的资源权限,避免数据被窃取和被破坏。本文基于此背景,介绍大数据平台通用权限管理框架Ranger 的原理、企业级权限管理设计以及一些实践分享。希望能给大家在大数据平台权限管理落地上提供一些参考。

Ranger 原理介绍

众所周知,一些常用的权限管控模型主要有:

  • ACL(Access Control List): 基于用户级别的权限控制;
  • RBAC(Role Base Access Control): 基于角色级别的权限控制;与ACL 不同的是RBAC 不用给用户单个分配权限,权限与用户之间通过角色关联;
  • ABAC(Attribute Base Access Control): 基于属性级别的权限控制;通过动态计算一个或者一组属性是否满足某种条件来进行权限判断,可以实现细粒度且灵活的权限控制。
阅读全文 »

背景:这本书跟我们做互联网产品相关,尤其是在做一款创新型人工智能产品时,需要团队成员能有互联网思维,通过互联网方法,能为了一致的目标团结一起,将产品做到极致。不过书中谈到的很多都是前几年吵的比较火的概念,自己也一直在互联网圈子里,所以对他提到的观点和看法也是了解的。

不得不说,这本书讲的还是非常通俗易懂的,老周从自己的做360的初衷、过程及遇到的问题和解决方式思维,多个角度分析了自己在互联网这块的认识和简介。简单来讲就是,以免费带量,靠增值服务来赚钱;用户至上,体验为王。

阅读全文 »

1.APP之间通信方式有哪些

  • URL Scheme
    (在info.plist中配置LSApplicationQueriesSchemes,指定目标app的scheme,然后在目标app的info.plist中配置好URL types)场景:分享,支付等
  • Keychain
    本质是sqlite数据库,独立每个app的沙盒之外,即使删除app,keychain中的信息还存在
    特点:不同app之间需要通过keychain access groups才行,同一个teamID
    场景:用户登录信息保存,同一平台上多个app之间实现统一账户登录
  • UIPasteboard
    系统剪切板 场景:淘宝口令
  • UIDocumentInteractionController 系统级别,同设备上app之间的共享文档,以及文档预览,打印,发邮件和复制等
  • local socket
    app1在本地端口port1234建立socket tcp的bind和listen,APP2在同一端口port1234 发起tcp的connect连接
    场景:某个App1具有特殊的能力,比如能够跟硬件进行通信,在硬件上处理相关数据。而App2则没有这个能力,但是它能给App1提供相关的数据,这样APP2跟App1建立本地socket连接,传输数据到App1,然后App1在把数据传给硬件进行处理。
    缺陷:需要后台运行,因此,系统在任意时刻只有一个app在前台运行,那么就需要通信的另一方具备后台运行权限,类似导航,音乐,蓝牙通信类
阅读全文 »

 

一键式通过GCP自建科学上网服务

1.前期准备

需要准备一张visa卡(本人使用的是招行visa信用卡),在google cloud platform注册账号信息

说明:GCP新用户有免费一年的使用时长,配额是300美金

2.在GCP的控制台上创建Compute Engine的VM实例

如图创建

阅读全文 »

WKWebview 踩坑之旅

前言

关于iOS 8后出来的WKWebview的简介,及对比UIWebview的优势 就不再做赘述了。可以参考
nshipster介绍WKWebview
学习WKWebview需研究源码,可以调试下miniBrowser项目

阅读全文 »