<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[RavenProtocol - Medium]]></title>
        <description><![CDATA[Decentralized and Distributed Deep Learning - Medium]]></description>
        <link>https://medium.com/ravenprotocol?source=rss----bf76317ae96e---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>RavenProtocol - Medium</title>
            <link>https://medium.com/ravenprotocol?source=rss----bf76317ae96e---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 10 Nov 2026 05:42:18 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/ravenprotocol" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[‍⬛Ravnest Dev Summary 2024 ]]></title>
            <link>https://medium.com/ravenprotocol/ravnest-dev-summary-2024-f1e2dda6ccd8?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/f1e2dda6ccd8</guid>
            <category><![CDATA[decentralization]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[large-language-models]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Tue, 21 Jan 2025 11:19:30 GMT</pubDate>
            <atom:updated>2025-01-21T11:19:30.429Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*JaLr8nLVZbdBq_AL" /></figure><p>1. Published a Research Paper about our framework Ravnest on Arxiv.</p><p><a href="https://arxiv.org/abs/2401.01728">Ravnest: Decentralized Asynchronous Training on Heterogeneous Devices</a></p><p>2. Built and deployed a Readthedocs website for Ravnest that contains extensive documentation, feature updates and usage examples.</p><p><a href="https://ravnest.readthedocs.io/">https://ravnest.readthedocs.io</a></p><p>3. Developed GRPC enabled communication paradigms and restructured codebase.</p><p>4. Integrated data compression techniques to our backend, reducing network overhead and improving training efficiency.</p><p>5. Common script for all provider roles for ease of deployment. Ravnest automatically infers the role of the providers within clusters.</p><p>6. Support for heterogeneous training jobs allowing both CPU and GPU based systems to participate in same training session.</p><p>7. Model compute requirement detection improved and automated in clusterize method.</p><p>8. Major improvements to our model splitting technique to extend support for contemporary LLMs.</p><p>9. Successfully performed initial benchmarking experiments on small LLMs and vision models.</p><p>10. Support for Custom Trainer added, allowing developers to define their own training loops for non-conventional training flows.</p><p>11. Introduced new Broker role in Ravnest ecosystem that orchestrates decentralized training jobs.</p><p>12. Introduced a new compute mode on top of GRPC that supports PyTorch Distributed training for local LAN/Infiniband connected setups through nccl/gloo backends.</p><p>13. Secured GPU systems for benchmarking against state of the art frameworks (like MegatronLM by Nvidia and ColossalAI) through sponsorship programs.</p><p>14. Positive technical discussions with players in decentralized compute ecosystem towards potential adoption of Ravnest.</p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f1e2dda6ccd8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/ravnest-dev-summary-2024-f1e2dda6ccd8">🐦‍⬛🪺Ravnest Dev Summary 2024 🎉</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Blueprints of Ravnest’s Architecture]]></title>
            <link>https://medium.com/ravenprotocol/the-blueprints-of-ravnests-architecture-36384d5fb1aa?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/36384d5fb1aa</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[decentralization]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Tue, 06 Feb 2024 11:21:25 GMT</pubDate>
            <atom:updated>2024-02-06T11:21:24.986Z</atom:updated>
            <content:encoded><![CDATA[<p>We are thrilled to share the blueprints of Ravnest’s architecture.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/990/1*umZAgyjwuOT-s4iBK06Ccw.jpeg" /></figure><p><strong>Figure 1</strong> depicts the process of matchmaking, cluster formation and model fragmentation into submodels on an intermediary server. The requester and all available compute nodes will connect to this intermediary server to participate and get the training started.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S_BtKTRaZQLlg5iOcuqjbg.jpeg" /></figure><p><strong>Figure 2</strong> elucidates upon what goes on inside each cluster, running parallelly. It shows how data is fed through the different nodes as micro batches and asynchronous training is achieved using zero-bubble mode parallelism.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*M3vp5IljvuymqJovEj4PQg.jpeg" /></figure><p><strong>Figure 3</strong> shows an overview of how Global model parameter averaging takes place across a set of clusters in accordance with the parallel multi-ring all reduce method described in our arxiv pre-print. This is triggered periodically to sync up model parameters across clusters.</p><p><strong>Link to Research Paper</strong>: <a href="https://arxiv.org/abs/2401.01728">https://arxiv.org/abs/2401.01728</a></p><p><strong>Github Repository</strong>: <a href="https://github.com/ravenprotocol/ravnest">https://github.com/ravenprotocol/ravnest</a></p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=36384d5fb1aa" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/the-blueprints-of-ravnests-architecture-36384d5fb1aa">The Blueprints of Ravnest’s Architecture</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Ravnest: Decentralized Asynchronous Training on Heterogeneous Devices]]></title>
            <link>https://medium.com/ravenprotocol/ravnest-decentralized-asynchronous-training-on-heterogeneous-devices-e2dcdf9f813e?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/e2dcdf9f813e</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[decentralization]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Mon, 05 Feb 2024 10:16:22 GMT</pubDate>
            <atom:updated>2024-02-05T10:16:22.684Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fmz1aQR4TmuGln42h_Qp5Q.png" /></figure><p>We are happy to share that we’ve published a new research paper!</p><p><strong>Check the </strong><a href="https://twitter.com/Cornell"><strong>Cornell University</strong></a><strong> </strong><a href="https://twitter.com/arxiv"><strong>arXiv</strong></a><strong> pre-print for Ravnest, our new decentralized algorithm</strong>: <a href="https://arxiv.org/abs/2401.01728">https://arxiv.org/abs/2401.01728</a></p><p>We request everyone to have a look at this research paper and give us feedback on any improvements for future iterations.</p><p>The implementation is underway and the updates can be found on the following <strong>GitHub Repository</strong>: <a href="https://github.com/ravenprotocol/ravnest">https://github.com/ravenprotocol/ravnest</a></p><p>Please note that we are not inviting contributions immediately as we are working on the experimental and comparative analysis of our proposed approach and thereby making regular drastic updates to this repository.</p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e2dcdf9f813e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/ravnest-decentralized-asynchronous-training-on-heterogeneous-devices-e2dcdf9f813e">Ravnest: Decentralized Asynchronous Training on Heterogeneous Devices</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Concurrent Training of a Requester Graph Across Multiple Participating Providers]]></title>
            <link>https://medium.com/ravenprotocol/concurrent-training-of-a-requester-graph-across-multiple-participating-providers-80bb6a934bfb?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/80bb6a934bfb</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[chatgpt]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Tue, 13 Jun 2023 12:49:13 GMT</pubDate>
            <atom:updated>2023-06-13T12:49:13.370Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VLywcZ2kypDZJjHlnjCKoQ.png" /></figure><h3>🚀 Release Notes 🚀</h3><p>We are excited to announce the next version of Ravenverse which supports concurrent training of a Requester Graph across multiple participating Providers.</p><h4>Requester Side</h4><p>1. The number of participants required to compute a graph is now determined and set automatically by our backend based on the complexity of the deep learning graph, operations, weight size and a bunch of other parameters. Requesters can no longer set this number manually in the ravop.execute() function.</p><p>2. Example scripts based on fine-tuning of GPT-2 model has been added in the Ravenverse GitHub Repository. The Requesters can first generate a “.pt” (pytorch) model file and there and load it up for distributed training in the Ravenverse. As an example, we have added a Poem Generator GPT which can be trained to write poems based on different emotions like fear, anticipation, mystery, horror etc. Additionally, there’s a Number-Sorting application using GPT that takes in an input vector and simply sorts it.</p><p>3. Novel optimisation technique implemented for subgraph formation. Significant speedup observed in graph compilation time.</p><h4>Provider Side</h4><p>4. Improved ping-pong refresh rate for more rapid assignment of subgraphs to providers.</p><p>5. New subgraph computation mechanism with reduced payload size for more efficient transfer of results. Massive speedup observed.</p><p>6. Backup provider support for maintaining graph progress in case of disconnect cases.</p><p>7. GPU benchmarking metrics revised based on graph complexity.</p><h3>Our Libraries:</h3><p><strong>Ravpy</strong>: <a href="https://pypi.org/project/ravpy/">https://pypi.org/project/ravpy/</a><br><strong>Ravop</strong>: <a href="https://pypi.org/project/ravop/">https://pypi.org/project/ravop/</a><br><strong>RavDL</strong>: <a href="https://pypi.org/project/ravdl/">https://pypi.org/project/ravdl/</a></p><p>You can find the documentation for each library in the respective repo Readme files. Please try them out and let us know if you run into any problems.</p><p><strong>Raven Protocol GitHub</strong>: <a href="https://github.com/ravenprotocol">https://github.com/ravenprotocol</a></p><p>Enjoy the new release! ❤️</p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=80bb6a934bfb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/concurrent-training-of-a-requester-graph-across-multiple-participating-providers-80bb6a934bfb">Concurrent Training of a Requester Graph Across Multiple Participating Providers</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Release Announcement: GPU Support in Ravenverse]]></title>
            <link>https://medium.com/ravenprotocol/new-release-announcement-gpu-support-in-ravenverse-e64ae8499033?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/e64ae8499033</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Mon, 01 May 2023 12:59:28 GMT</pubDate>
            <atom:updated>2023-05-01T12:58:00.908Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oid_Yddx9V2GoCPi" /><figcaption>Photo by <a href="https://unsplash.com/@nanadua11?utm_source=medium&amp;utm_medium=referral">Nana Dua</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>🚀🚀 <strong>Release Notes </strong>🚀🚀</p><p>We are excited to introduce GPU support to Ravenverse! Requesters can now have complex Graphs computed by Providers that can contribute GPU resources.</p><h4><strong>Requester Side Changes:</strong></h4><ul><li>Requesters can request for GPU resources by specifying the <strong><em>gpu_required=“yes”</em></strong> parameter in the R.Graph function during Graph definition.</li><li>Based on the complexity of the Graph, Ravsock generates minimum system and GPU requirements and only allows Providers meeting those requirements to participate.</li><li>Requesters can now directly load PyTorch models into RavDL by using the <strong><em>R.model</em></strong> op. This op takes the path to the TorchScript file of the PyTorch model as a parameter and allows distributed training and inference via the Ravenverse.</li><li>Requesters can now persist their entire <strong><em>R.model </em></strong>and retrieve from the Ravenverse post training for further use</li><li>Significant speed up in compilation, distribution and computation observed.</li></ul><p><strong>RavDL</strong>: <a href="https://github.com/ravenprotocol/ravdl">https://github.com/ravenprotocol/ravdl</a></p><h4><strong>Provider Side Changes:</strong></h4><ul><li>Improvements in connectivity checks</li><li><strong><em>list_graphs</em></strong> functions can be used to check for GPU requirements along with system requirements</li><li>Providers can only participate in graphs for which they meet the minimum requirements</li><li>Computation speed and efficiency increase observed</li><li>Memory Usage optimised</li></ul><p><strong>Ravpy</strong>: <a href="https://github.com/ravenprotocol/ravpy">https://github.com/ravenprotocol/ravpy</a></p><p>We have included helper codes in our Ravenverse GitHub Repository for Requesters and Providers.</p><p><strong>Ravenverse GitHub</strong>: <a href="https://github.com/ravenprotocol/ravenverse">https://github.com/ravenprotocol/ravenverse</a></p><p>You can find the documentation for each library in the respective repo Readme files. Please try them out and let us know if you run into any problems.</p><p><strong>Raven Protocol GitHub</strong>: <a href="https://github.com/ravenprotocol">https://github.com/ravenprotocol</a></p><p>Enjoy the new release! ❤️</p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e64ae8499033" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/new-release-announcement-gpu-support-in-ravenverse-e64ae8499033">New Release Announcement: GPU Support in Ravenverse</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Release Announcement: Selective Participation]]></title>
            <link>https://medium.com/ravenprotocol/new-release-announcement-selective-participation-d9b1886a7f29?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/d9b1886a7f29</guid>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Wed, 22 Mar 2023 14:56:20 GMT</pubDate>
            <atom:updated>2023-03-22T14:56:20.832Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*E6_1_5IF6T-XbWgt" /></figure><p>We are excited to announce a new iteration of Ravenverse!! In this release, our primary focus has been on Selective Participation.</p><p>The previous releases of Ravenverse and its supporting libraries relied on the fact that providers can connect to the network any time they wish and if any ongoing requester graphs are being executed at the moment, they will instantly participate and start receiving computations. However, this approach has some caveats. For instance, we observed that if there are no available pending requester graphs in our network, there is practically no point for providers to keep their systems up and running since they won’t be receiving any computations. Also, it was not guaranteed that all providers in our network will definitely receive computations if one requester were to execute their graph. In order to fix these shortcomings of our network, we are introducing a new paradigm in this release — Selective Participation.</p><h3>Release Notes</h3><h4><strong>Provider side changes (Ravpy v0.16)</strong>: <br><a href="https://pypi.org/project/ravpy/">https://pypi.org/project/ravpy/</a></h4><p>1. Providers must now manually participate in a specific graph. This means that providers no longer need to keep their systems running and wait indefinitely to receive computations. The list of available graphs for computation can be checked by a provider by running the Provider/list_available_graphs.py in the Ravenverse repository.</p><p>2. A graph starts execution when its required number of participants is met. The table will show a bunch of information about each graph including System Requirements, Minimum Stake Required, current Active Participants, and the total number of Required Participants in the graph. Before participating in a graph, Providers must ensure that their system meets the system requirements of that specific graph and they must have enough tokens in their ravenverse account to stake.</p><p>3. Along with their earnings, the staked amount will be returned back to the provider once they have successfully computed their share of subgraphs and returned back the computation results. However, A portion of the staked amount will be deducted as a penalty if the Provider disconnects from the network before computing all of their share of subgraphs.</p><p>4. Once all computations of a Provider are successfully completed, they will automatically get disconnected from the network and are again free to participate in any other new graph. They can also check their earnings on their ravenverse website dashboard.</p><p>5. Quality of life improvements like Upload/Download progress bars.</p><p>6. Improvements to the benchmarking procedure by utilizing a dummy torch model.</p><h4>Requester side changes (Ravop v0.12): <a href="https://pypi.org/project/ravop/">https://pypi.org/project/ravop/</a></h4><p>7. After the compilation of their graph, requesters will now be shown the cost of the graph and the maximum number of allowable participants (providers).</p><p>8. The requester must set a required number of participants in the execute function.</p><p>9. Once the graph reaches the execution stage, this number of required participants and currently active participants will be broadcasted to all Providers who wish to participate.</p><p>We have included helper codes in our Ravenverse GitHub Repository for Requesters and Providers.</p><p><strong>Ravenverse GitHub</strong>: <a href="https://github.com/ravenprotocol/ravenverse">https://github.com/ravenprotocol/ravenverse</a></p><p>You can find the documentation for each library in the respective repo Readme files. Please try them out and let us know if you run into any problems.</p><p><strong>Raven Protocol GitHub</strong>: <a href="https://github.com/ravenprotocol">https://github.com/ravenprotocol</a></p><p>Enjoy the new release! ❤️</p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d9b1886a7f29" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/new-release-announcement-selective-participation-d9b1886a7f29">New Release Announcement: Selective Participation</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Release Announcement: Introducing the revamped versions of Ravpy, RavDL, Ravop libraries]]></title>
            <link>https://medium.com/ravenprotocol/new-release-announcement-introducing-the-revamped-versions-of-ravpy-ravdl-ravop-libraries-598f804f07d8?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/598f804f07d8</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Fri, 10 Feb 2023 14:31:48 GMT</pubDate>
            <atom:updated>2023-02-10T14:31:48.751Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GjkZdHkGmtUY4cD2qyyr0g.png" /></figure><p>🚀🚀 Announcement! 🚀🚀</p><p>We are excited to announce a new release of Ravenverse!</p><p>Introducing the revamped versions of Ravpy, RavDL, Ravop libraries.</p><p>1. Ravpy (v0.15): <a href="https://pypi.org/project/ravpy/">https://pypi.org/project/ravpy/</a><br>2. RavDL (v0.10): <a href="https://pypi.org/project/ravdl/">https://pypi.org/project/ravdl/</a><br>3. Ravop (v0.11): <a href="https://pypi.org/project/ravop/">https://pypi.org/project/ravop/</a></p><p>We have included helper codes in our Ravenverse GitHub Repository for Requesters and Providers.</p><p><strong>Ravenverse GitHub</strong>: <a href="https://github.com/ravenprotocol/ravenverse">https://github.com/ravenprotocol/ravenverse</a></p><p>You can find the documentation for each library in the respective repo Readme files. Please try them out and let us know if you run into any problems.</p><h3>Release Notes:</h3><h4>Ravdl (v0.10)</h4><ul><li>Massive performance improvement in Graph computations and model training, thanks to a revamped approach to the backpropagation algorithm.</li><li>Added a collection of new layers to the library along with provision for defining Custom layers.</li><li>Apart from Sequential Models, Requesters can now create Functional Custom Models. This will allow them to deploy state of the art complex models (like GPT variants) with ease.</li><li>Many new Activation functions added to the library.</li><li>Deprecated the use of the old ravdl.v1 API. The new ravdl.v2 API is much more intuitive and powerful to use.</li><li>Refactoring changes to the ravdl codebase.</li><li>Updated RavDL readme with a detailed tutorial on how to use the new ravdl.v2 API.</li></ul><h4>Ravpy (v0.15)</h4><ul><li>Added support for new deep learning, machine learning and math ops.</li><li>Optimized model training computations.</li><li>The mathematical backend for ravpy has been shifted to Pytorch. This will allow us to leverage the power of GPU acceleration and other features in future releases.</li><li>FTP broken-pipe connection issues resolved.</li><li>Execution of Backpropagation Algorithm has been optimized for better performance.</li><li>Refactoring changes to the ravpy codebase.</li><li>Minimized the probability of subgraph failure. Improved the robustness of the system with better reassignment strategies in case of mid-computation internet connectivity issues.</li></ul><h4>Ravop (v0.11)</h4><ul><li>Added support for new deep learning, machine learning and math ops.</li><li>Requesters will now receive the exact error messages in case their graph fails.</li><li>The post-execution results of computed ops can now be fetched as torch.Tensor objects.</li></ul><h4>Ravsock &amp; Scheduler-Service</h4><ul><li>Major improvements to the scheduler-service. The scheduler-service now uses a more efficient algorithm to generate and assign subgraphs to workers. This will result in faster execution of subgraphs.</li><li>Improved handling of failed and redundant subgraphs. Graphs will fail only after 5 re-attempts at execution.</li><li>Optimized payload formation due to which the size of the payload has been significantly reduced.</li><li>Error serving features for Requester.</li><li>Dynamic cleanup for inessential data.</li><li>Dynamic split size for graph splitting based on complexity.</li><li>Revamped the communication channel between the scheduler-service and the ravsock server running on multiple worker threads.</li><li>Added support for new deep learning, machine learning and math ops.</li></ul><p><strong>Raven Protocol GitHub</strong>: <a href="https://github.com/ravenprotocol">https://github.com/ravenprotocol</a></p><p>Enjoy the new release! ❤️</p><p><em>— The Raven Protocol Team</em></p><p><strong>OFFICIAL CHANNELS:<br></strong>Official Email Address: founders@ravenprotocol.com<br>Official Website Link: <a href="http://www.ravenprotocol.com/">http://www.RavenProtocol.com</a><br>Official Announcement Channel: <a href="https://t.me/raven_announcements">https://t.me/raven_announcements</a><br>Official Telegram Group: <a href="https://t.me/ravenprotocol">https://t.me/ravenprotocol</a><br>Official Twitter: <a href="https://twitter.com/raven_protocol">https://twitter.com/raven_protocol</a><br>Official Medium: <a href="https://medium.com/ravenprotocol">https://medium.com/ravenprotocol</a><br>Official LinkedIn: <a href="https://linkedin.com/company/ravenprotocol">https://linkedin.com/company/ravenprotocol</a><br>Official Github: <a href="https://www.github.com/ravenprotocol">https://www.github.com/ravenprotocol</a><br>Official Substack: <a href="https://ravenprotocol.substack.com/">https://ravenprotocol.substack.com</a><br>Official Discord: <a href="https://discord.gg/Njq8QxYUKR">https://discord.gg/Njq8QxYUKR</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=598f804f07d8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/new-release-announcement-introducing-the-revamped-versions-of-ravpy-ravdl-ravop-libraries-598f804f07d8">New Release Announcement: Introducing the revamped versions of Ravpy, RavDL, Ravop libraries</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Launching Ravenverse!]]></title>
            <link>https://medium.com/ravenprotocol/launching-ravenverse-9d76d23e84b6?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/9d76d23e84b6</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[metaverse]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[web3]]></category>
            <dc:creator><![CDATA[Raven Protocol]]></dc:creator>
            <pubDate>Thu, 06 Oct 2022 21:46:52 GMT</pubDate>
            <atom:updated>2022-10-06T21:46:52.622Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*iMaHVuf6HJhCh4VL" /></figure><p>Hi everyone,</p><p>Finally🥁</p><p>We are thrilled to announce the public release of Ravenverse.</p><p>Raven Protocol is decentralizing computing power and creating a requester-provider economy. And Ravenverse is a significant step forward for Raven Protocol.</p><p>As a team, we are constantly evolving and improving. Our team has worked hard on this release and will keep improving Ravenverse. Requesters can now develop operations and models, and providers can join in to offer their idle computing resources in exchange for Raven tokens.</p><h3>Instructions to use Ravenverse:</h3><ol><li>Create your Ravenverse account and generate an access token: <a href="https://t.co/RBVe2CsF5g">https://ravenverse.ai</a> (Need Metamask)</li><li>Clone Ravenverse repository: <a href="https://github.com/ravenprotocol/ravenverse">https://github.com/ravenprotocol/ravenverse</a></li><li>Put your access token and server credentials in the .env file:<br>Ravenverse Server Url: <a href="https://t.co/dxPTUqdsCH">http://server.ravenverse.ai</a> <br>Ravenverse FTP Host/Url: <a href="https://t.co/dxPTUqdsCH">http://server.ravenverse.ai</a></li><li>Create operations and models, or join in to offer your idle computing resources</li></ol><p>Enjoy Ravenverse! Please let us know if you run into any problems. <br>Note: We are working on a no-code UI for requesters and providers.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9d76d23e84b6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/launching-ravenverse-9d76d23e84b6">Launching Ravenverse!</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Revamped Federated Analytics for Ravenverse!]]></title>
            <link>https://medium.com/ravenprotocol/an-update-on-federated-analytics-in-ravenverse-9b8f7989948b?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/9b8f7989948b</guid>
            <category><![CDATA[federated-learning]]></category>
            <category><![CDATA[distributed-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Unnikrishnan Menon]]></dc:creator>
            <pubDate>Tue, 20 Sep 2022 14:55:39 GMT</pubDate>
            <atom:updated>2022-09-20T14:55:38.885Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*llXmRqzdmko3WpALGS-Jhw.jpeg" /></figure><p>On top of Distributed Computing, the Ravenverse now also has support for Federated Analytics (FA), a technique useful for conducting data analysis without directly observing a client’s private data. You can read more on FA <a href="https://ai.googleblog.com/2020/05/federated-analytics-collaborative-data.html">here</a>.</p><p>This post dives deeper into the working of our improved FA release.</p><h3>Requester and Provider</h3><p>In Ravenverse, the Requester is the entity that wants to conduct analysis of statistical metrics across data that is hosted on devices across the globe. They can define certain constraints and filters that the data must conform to. The Ravenverse bridges the gap between the Requesters and these devices by allowing only those devices with valid data (satisfying the constraints) to participate without exposing any private data.</p><p>On the other hand, Providers are entities that host cleaned data locally. For instance, it could be the medical records of patients in a hospital.</p><p>For the sake of this demo, we will be considering an arbitrary dataset of Office data that consists of 4 columns hosted on the Provider.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*I7oi1XA20myBj1iSUSXkHA.png" /><figcaption>Sample Office Data</figcaption></figure><h3>Getting your Ravenverse Token</h3><p>Visit the <a href="https://www.ravenverse.ai/">Ravenverse Website</a> (preferably on Chrome) and login using your MetaMask Wallet Credentials. More details on account creation can be found in <a href="https://medium.com/@sebastianhrw/enter-the-ravenverse-4686323b370e">this article</a>.</p><p>Copy your Private Ravenverse Token. This token will be required by all Raven libraries to authenticate transactions and data transfers.</p><h3>Setup</h3><p>Clone the <a href="https://github.com/ravenprotocol/ravenverse">Ravenverse Repository</a></p><pre>git clone <a href="https://github.com/ravenprotocol/ravenverse.git">https://github.com/ravenprotocol/ravenverse.git</a></pre><p>It is recommended to create a conda virtual environment with python 3.8 for Ravenverse.</p><p>Now inside the cloned folder, install the Python dependencies</p><pre>pip install -r requirements.txt</pre><h3>Requester Side</h3><p>Inside the Requester subfolder, you should find a .env file in which you need to paste your Ravenverse token.</p><h4>Running the Script</h4><p>The Requester’s script (<a href="https://github.com/ravenprotocol/ravenverse/blob/master/Requester/create_federated_analytics.py">Ravenverse/Requester/create_federated_analytics.py</a>) utilizes the Ravop library to compile and execute FA ops. In this demo, we will be finding the mean, variance and standard deviation of the Office Data hosted on the Provider.</p><pre>cd Requester/</pre><pre>python create_federated_analytics.py</pre><p>Let’s dive deeper into the script.</p><p>Importing the libraries</p><pre>import os<br>from dotenv import load_dotenv<br>load_dotenv() <br>import json<br>import ravop as R</pre><p>First, we initialize the requester with their Ravenverse token, after which we clear any previous/existing graphs using the R.flush() method. Note that the initialize function of Ravop fetches the token directly from the .env file.</p><pre>R.initialize(ravenverse_token=os.environ.get(&quot;TOKEN&quot;)) <br>R.flush()</pre><p>Next, we define a FA Graph (along with the required data constraints) which groups the forthcoming ops under one roof. This graph is now owned by the Requester.</p><pre>R.Graph(name=&quot;Office Data&quot;, approach=&quot;federated&quot;,<br>            rules=json.dumps(<br>                  {&quot;rules&quot;: {&quot;age&quot;: {&quot;min&quot;: 18, &quot;max&quot;: 80},<br>                             &quot;salary&quot;: {&quot;min&quot;: 1, &quot;max&quot;: 5},<br>                             &quot;bonus&quot;: {&quot;min&quot;: 0, &quot;max&quot;: 10},<br>                             &quot;fund&quot;: {}<br>                            },<br>            &quot;max_clients&quot;: 1}))</pre><ul><li>name: The name for the graph set by the requester. Preferably a meaningful name that allows clients to identify the type of dataset desired by the requester.</li><li>approach: Set to ‘federated’.</li><li>rules: The rules dictionary must contain the names of all the columns of data required by the requester for aggregation and their corresponding constraints as shown above. The clients will then be able to filter their data accordingly. Note: An empty dictionary for a column signifies no constraints. All values in that column shall be considered.</li><li>max_clients: The number of clients whose data must be aggregated and returned to the requester.</li></ul><p>Next, we define Ops for our statistical analysis.</p><pre>mean = R.federated_mean()<br>variance = R.federated_variance()<br>standard_deviation = R.federated_standard_deviation()</pre><p>Next, we make our Ops Persist. Ops that have been set to persist can later be retrieved after the execution of the graph is complete.</p><p><strong><em>Note:</em></strong> Make sure that the name parameter for each persisting Op is unique within a graph so that later it can be retrieved.</p><pre>mean.persist_op(name=&quot;mean&quot;)<br>variance.persist_op(name=&quot;variance&quot;)<br>standard_deviation.persist_op(name=&quot;standard_deviation&quot;)</pre><p>Once all Ops of the graph has been defined, the requester must activate their graph. This step completes the compilation procedure and makes the graph ready for execution. No more Ops can be added to the graph after this.</p><pre>R.activate()</pre><p>Upon Activation, the Ravenverse compiles the defined Ops and notifies the Requester of how many Raven Tokens it will cost to execute their graph.</p><p>Next, we execute the FA graph. On execution, the Provider nodes will be allowed to participate if they possess the relevant data on their systems. The requester can also track the progress of the graph.</p><pre>R.execute()<br>R.track_progress()</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QqtNq0zVboo2UqsE6Uq9fg.png" /><figcaption>Compilation and Execution of FA graph</figcaption></figure><p>Once executed, the Requester can fetch the computed results of the Ops that they had previously set to persist.</p><pre>mean_output <strong>=</strong> R<strong>.</strong>fetch_persisting_op(op_name<strong>=</strong>&quot;mean&quot;)<br>print(&quot;mean: &quot;, mean_output)<br><br>variance_output <strong>=</strong> R<strong>.</strong>fetch_persisting_op(op_name<strong>=</strong>&quot;variance&quot;)<br>print(&quot;variance: &quot;, variance_output)<br><br>standard_deviation_output <strong>=</strong> R<strong>.</strong>fetch_persisting_op(op_name<strong>=</strong>&quot;standard_deviation&quot;)<br>print(&quot;standard_deviation: &quot;, standard_deviation_output)</pre><p>These fetched ops will contain a dictionary of values corresponding to each row in the dataset.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*i6qJ9noXf6Drq9D7e7FlsQ.png" /><figcaption>The output of fetched FA ops</figcaption></figure><h3>Provider Side</h3><p>Inside the Provider subfolder, you should find a .env file in which you need to paste your Ravenverse token.</p><h4>Running the Script</h4><p>The Provider’s script (<a href="https://github.com/ravenprotocol/ravenverse/blob/master/Provider/run_federated_provider.py">Ravenverse/Provider/run_federated_provider.py</a>) utilizes the Ravpy library to view and participate in existing FA graphs. The Office Data (shown earlier) is already included in the Provider subfolder (<a href="https://github.com/ravenprotocol/ravenverse/blob/master/Provider/data/data1.csv">Ravenverse/Provider/data/data1.csv</a>).</p><pre>cd Provider/</pre><pre>python run_federated_provider.py</pre><p>Let’s dive deeper into this script…</p><p>Importing the libraries</p><pre>import os<br>from dotenv import load_dotenv<br>load_dotenv() <br>from ravpy.utils import list_graphs<br>from ravpy.federated.participate import participate<br>from ravpy.initialize import initialize</pre><p>First, we initialize the provider with their Ravenverse token. Note that the initialize function of ravpy fetches the token directly from the .env file.</p><pre>client = initialize(os.environ.get(&quot;TOKEN&quot;))</pre><p>Next, we list the currently active graphs in which the provider can potentially participate.</p><pre>list_graphs(approach=&quot;federated&quot;)</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ohYBJnE9YRPsQ9pyyf3YXQ.png" /><figcaption>Listing currently active graphs</figcaption></figure><p>After viewing the rules, the Provider can participate in the graph execution with their local dataset. <strong><em>Note:</em></strong> The dataset must be a .csv file.</p><pre>participate(graph_id=1, file_path=&quot;data/data1.csv&quot;)</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/876/1*GcO0DQHD40jg4_cl2R96Xw.png" /><figcaption>Participation Logs</figcaption></figure><p>After participation, the Provider will be aptly rewarded with Raven Tokens that they can view and withdraw into their Metamask wallet, from their Ravenverse Website dashboard.</p><h3>Join Our Community</h3><p>Raven’s GitHub Repositories welcome contributions from developers. We’ll be releasing new versions of Ravenverse and related libraries on a regular basis.</p><p><a href="https://github.com/ravenprotocol">Raven Protocol</a></p><p>Join our discord server to get updates on what comes next</p><p><a href="https://discord.com/invite/DEZTX2u7">Join the Raven Dev Community Discord Server!</a></p><p>Join us on Telegram</p><p><a href="https://t.me/ravenprotocol">Raven Protocol</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9b8f7989948b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/an-update-on-federated-analytics-in-ravenverse-9b8f7989948b">Revamped Federated Analytics for Ravenverse!</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing RavDL Version 2 for Ravenverse!]]></title>
            <link>https://medium.com/ravenprotocol/introducing-ravdl-version-2-for-ravenverse-67a7c1fe1d91?source=rss----bf76317ae96e---4</link>
            <guid isPermaLink="false">https://medium.com/p/67a7c1fe1d91</guid>
            <category><![CDATA[distributed-computing]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[mlops]]></category>
            <dc:creator><![CDATA[Anirudh Rajiv Menon]]></dc:creator>
            <pubDate>Fri, 16 Sep 2022 11:40:22 GMT</pubDate>
            <atom:updated>2022-09-16T11:40:48.871Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BHQUJz34q5VSmsGJtE8IQA.jpeg" /></figure><p>Training Machine Learning and Deep Learning models on Ravenverse is now faster than ever before. A new and optimised version of our Deep Learning library RavDL as well as various new Machine Learning Ops allow developers to train large models within minutes!</p><h3>The New &amp; Improved RavDL</h3><p>The latest release of our Deep Learning library, RavDL, allows developers to access RavDL.v2 which leverages newly added Deep Learning Layer Ops which remove redundancies and reduce the number of Ops that need to be created for a model, leading to an increase in speed and compute efficiency.</p><p>Unlike RavDL.v1, the new version abstracts rudimentary Ops into individual layer Ops enabling significantly faster compute speeds and reduced latency.</p><p>In terms of usage, there is not much difference when compared to RavDL.v1. An example model is shown below.</p><pre>from ravdl.v2 import NeuralNetwork<br>from ravdl.v2.optimizers import RMSprop, Adam<br>from ravdl.v2.layers import Activation, Dense, BatchNormalization, Dropout, Conv2D, Flatten, MaxPooling2D<br><br>model = NeuralNetwork(optimizer=RMSprop(),loss=&#39;SquareLoss&#39;)</pre><pre>model.add(Dense(n_hidden, input_shape=(n_features,)))<br>model.add(BatchNormalization())<br>model.add(Dense(30))<br>model.add(Dropout(0.9))<br>model.add(Dense(3))<br>model.add(Activation(&#39;softmax&#39;))</pre><p>The <a href="https://github.com/ravenprotocol/ravdl">RavDL</a> repo contains detailed documentation regarding the setup as well as the various layers and features available to developers as of this release.</p><h3>Machine Learning Ops</h3><p>With a variety of ML algorithms now available as simple Ravop Operators, training an ML algorithm on the Ravenverse is now as simple as declaring an Op, the dataset being its inputs and the other required arguments can be passed as parameters. The following is an example of how one can define a Linear Regression Op for distributed training.</p><pre>model = R.linear_regression(R.t(X), R.t(y))<br>model.persist_op(&#39;linear_regression_model&#39;)</pre><p>Once trained, the model can later be retrieved for evaluation as follows:</p><pre>model = R.fetch_persisting_op(‘linear_regression_model’)<br>score = model.score(X_test,y_test)</pre><p>The full list of the available ML Operations is as follows:</p><ul><li>Linear Regression</li><li>Logistic Regression</li><li>K-Nearest Neighbours Classifier</li><li>K-Nearest Neighbours Regressor</li><li>Naive Bayes</li><li>K-Means</li><li>Support Vector Machine Classifier</li><li>Support Vector Machine Regressor</li><li>Decision Tree Classifier</li><li>Decision Tree Regressor</li><li>Random Forest Classifier</li><li>Random Forest Regressor</li></ul><p>The <a href="https://github.com/ravenprotocol/ravenverse">Ravenverse</a> repo contains detailed walkthroughs on how to setup <a href="https://github.com/ravenprotocol/ravop">Ravop</a> in order to use these Operators.</p><h3>Join Our Community</h3><p>Raven’s GitHub Repositories welcome contributions from developers. We’ll be releasing new versions of Ravenverse and related libraries on a regular basis.</p><p><a href="https://github.com/ravenprotocol">Raven Protocol</a></p><p>Join our discord server to get updates on what comes next</p><p><a href="https://discord.com/invite/DEZTX2u7">Join the Raven Dev Community Discord Server!</a></p><p>Join us on Telegram</p><p><a href="https://t.me/ravenprotocol">Raven Protocol</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=67a7c1fe1d91" width="1" height="1" alt=""><hr><p><a href="https://medium.com/ravenprotocol/introducing-ravdl-version-2-for-ravenverse-67a7c1fe1d91">Introducing RavDL Version 2 for Ravenverse!</a> was originally published in <a href="https://medium.com/ravenprotocol">RavenProtocol</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>